#pragma once

/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/

// Package: BPC_LuggageBackpack_LINK

#include "Basic.hpp"

#include "Engine_structs.hpp"
#include "Engine_classes.hpp"
#include "ST_ItemCoreDatas_structs.hpp"


SDK_NAMESPACE_START

// BlueprintGeneratedClass BPC_LuggageBackpack_LINK.BPC_LuggageBackpack_LINK_C
// 0x0068 (0x0120 - 0x00B8)
class UBPC_LuggageBackpack_LINK_C final : public UActorComponent
{
public:
	struct FPointerToUberGraphFrame               UberGraphFrame;                                    // 0x00B8(0x0008)(ZeroConstructor, Transient, DuplicateTransient)
	class UBPC_LuggageBackpack_LINK_C*            BackPackWidget;                                    // 0x00C0(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, InstancedReference, NoDestructor, HasGetValueTypeHash)
	TArray<struct FST_ItemCoreDatas>              BackPackDatas;                                     // 0x00C8(0x0010)(Edit, BlueprintVisible, Net, DisableEditOnInstance, RepNotify)
	bool                                          IsOpen;                                            // 0x00D8(0x0001)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	uint8                                         Pad_D9[0x7];                                       // 0x00D9(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	class UWBP_BackPackMenu_C*                    Widget;                                            // 0x00E0(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, InstancedReference, NoDestructor, HasGetValueTypeHash)
	int32                                         ItemLimit;                                         // 0x00E8(0x0004)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	uint8                                         Pad_EC[0x4];                                       // 0x00EC(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	TMulticastInlineDelegate<void(int32 Index_0, bool CanSpawn)> ItemSelect;                         // 0x00F0(0x0010)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, BlueprintAssignable, BlueprintCallable)
	TMulticastInlineDelegate<void(double Weight)> ChangeWeight;                                      // 0x0100(0x0010)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, BlueprintAssignable, BlueprintCallable)
	double                                        BeforeWeight;                                      // 0x0110(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	class ABP_BackpackHolo_C*                     BackPackHolo;                                      // 0x0118(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnTemplate, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash)

public:
	void SyncCoreWeightDatas(const TArray<double>& WeightValue);
	void SyncCall();
	void SelectIndex(int32 Index_0);
	void RespawnItem(int32 ItemIndex, const struct FTransform& CameraTransform, class ABP_FirstPersonCharacter_Main_C* FirstpersonCharacter, bool CanSpawn, class AActor** SpawnedObject);
	void OpenBackPack();
	void OnRep_BackPackDatas();
	void MapUpdate(TArray<double>& WeightValues);
	void GetSyncWeights(TArray<double>* Weights);
	void GetSumWeight(double* SumWeight);
	void GetHeightPosition_FromTransform(const struct FTransform& CameraTransform, float Distance, const struct FVector& BodyLocation, struct FVector* Location);
	void GetHeightPosition(class ABP_FirstPersonCharacter_Main_C* FirstpersonCharacter, float Distance, struct FVector* Location);
	void ExecuteUbergraph_BPC_LuggageBackpack_LINK(int32 EntryPoint);
	void CloseBackPack();
	void ClearAllItems();
	void ChangeWeightEvent(double Weight);
	void ChangedEvent(int32 Index_0);
	void AddItem(const struct FST_ItemCoreDatas& ItemInfo, bool* IsSuccess);

public:
	static class UClass* StaticClass()
	{
		BP_STATIC_CLASS_IMPL("BPC_LuggageBackpack_LINK_C")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"BPC_LuggageBackpack_LINK_C")
	}
	static class UBPC_LuggageBackpack_LINK_C* GetDefaultObj()
	{
		return GetDefaultObjImpl<UBPC_LuggageBackpack_LINK_C>();
	}
};
DUMPER7_ASSERTS_UBPC_LuggageBackpack_LINK_C;

SDK_NAMESPACE_END
