#pragma once

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

// Package: BP_FirstPersonPlayerState_LINK

#include "Basic.hpp"

#include "BP_FirstPersonPlayerState_classes.hpp"
#include "Engine_structs.hpp"
#include "EN_LINK_PlayerStateValueType_structs.hpp"


SDK_NAMESPACE_START

// BlueprintGeneratedClass BP_FirstPersonPlayerState_LINK.BP_FirstPersonPlayerState_LINK_C
// 0x0100 (0x0480 - 0x0380)
class ABP_FirstPersonPlayerState_LINK_C final : public ABP_FirstPersonPlayerState_C
{
public:
	struct FPointerToUberGraphFrame               UberGraphFrame_BP_FirstPersonPlayerState_LINK_C;   // 0x0380(0x0008)(ZeroConstructor, Transient, DuplicateTransient)
	class UBPC_LuggageBackpack_LINK_C*            BPC_LuggageBackpack_LINK;                          // 0x0388(0x0008)(BlueprintVisible, ZeroConstructor, InstancedReference, NonTransactional, NoDestructor, HasGetValueTypeHash)
	class ABP_FirstPersonCharacter_LINK_C*        OwnerCharacter_LINK;                               // 0x0390(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnTemplate, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash)
	TMap<EN_LINK_PlayerStateValueType, double>    PlayerStateValue;                                  // 0x0398(0x0050)(Edit, BlueprintVisible, DisableEditOnInstance)
	double                                        LiftPower;                                         // 0x03E8(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	class FString                                 CustomPlayerName;                                  // 0x03F0(0x0010)(Edit, BlueprintVisible, Net, ZeroConstructor, DisableEditOnInstance, HasGetValueTypeHash)
	TMap<EN_LINK_PlayerStateValueType, double>    PlayerStateValue_Replicate;                        // 0x0400(0x0050)(Edit, BlueprintVisible, DisableEditOnInstance)
	TMulticastInlineDelegate<void(EN_LINK_PlayerStateValueType PlayerStateValue, double Value)> OnValueChange; // 0x0450(0x0010)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, BlueprintAssignable, BlueprintCallable)
	int32                                         HaveCoin;                                          // 0x0460(0x0004)(Edit, BlueprintVisible, Net, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, RepNotify, NoDestructor, HasGetValueTypeHash)
	int32                                         HoveCoin_Old;                                      // 0x0464(0x0004)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	TMulticastInlineDelegate<void(double BackpackWeight)> OnBackPackValueChange;                     // 0x0468(0x0010)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, BlueprintAssignable, BlueprintCallable)
	double                                        CurrentBackpackWeight;                             // 0x0478(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

public:
	void ViewChange(class ABP_FirstPersonCharacter_Main_C* SourcePlayer);
	void UseCoin(int32 CoinValue, bool* Rezult);
	void StateValueSync_Server_(const EN_LINK_PlayerStateValueType& Key, const double& Value);
	void StateValueSync_Client_(const EN_LINK_PlayerStateValueType& Key, const double& Value);
	void SetupSpectateNameplate(class ABP_FirstPersonCharacter_Main_C* Character);
	void SetStateValue(EN_LINK_PlayerStateValueType Key, double Value);
	void SetName(const class FString& CustomPlayerName);
	void SetCoin(int32 SetValue);
	void SetBackPackMenuState(bool State);
	void SendToText(const class FString& Text, int32 MessageType);
	void RespawnItem_Server_(int32 ItemIndex, const struct FTransform& CameraTransform, bool CanSpawn);
	void ReceiveDestroyed();
	void ReceiveCopyProperties(class APlayerState* NewPlayerState_ReceiveCopyProperties);
	void ReceiveBeginPlay();
	void OnRep_HaveCoin();
	void NameUpdate();
	void Initialization(class ABP_FirstPersonCharacter_Main_C* Character_Initialization);
	void GetStateValue(EN_LINK_PlayerStateValueType& Key, double* Value, double* ReplicateValue);
	void GetCustomPlayerName(class FString* playerName);
	void GetCurrentWeight(double* WeightPower);
	void ExecuteUbergraph_BP_FirstPersonPlayerState_LINK(int32 EntryPoint);
	void BndEvt__BP_FirstPersonPlayerState_LINK_BPC_LuggageBackpack_LINK_K2Node_ComponentBoundEvent_1_ChangeWeight__DelegateSignature(double Weight);
	void BndEvt__BP_FirstPersonPlayerState_LINK_BPC_LuggageBackpack_LINK_K2Node_ComponentBoundEvent_0_ItemSelect__DelegateSignature(int32 Index_0, bool CanSpawn);
	void AddStateValue(EN_LINK_PlayerStateValueType ValueName, double Value, const struct FVector2D& ClampValue);
	void AddCoin(int32 AddValue);

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

SDK_NAMESPACE_END
