#pragma once

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

// Package: BPC_LinkCharacterCustomControl

#include "Basic.hpp"

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


SDK_NAMESPACE_START

// BlueprintGeneratedClass BPC_LinkCharacterCustomControl.BPC_LinkCharacterCustomControl_C
// 0x0058 (0x0110 - 0x00B8)
class UBPC_LinkCharacterCustomControl_C final : public UActorComponent
{
public:
	struct FPointerToUberGraphFrame               UberGraphFrame;                                    // 0x00B8(0x0008)(ZeroConstructor, Transient, DuplicateTransient)
	class USkeletalMeshComponent*                 MainMesh;                                          // 0x00C0(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, InstancedReference, NoDestructor, HasGetValueTypeHash)
	int32                                         BodyColorIndex;                                    // 0x00C8(0x0004)(Edit, BlueprintVisible, Net, ZeroConstructor, IsPlainOldData, RepNotify, NoDestructor, HasGetValueTypeHash)
	uint8                                         Pad_CC[0x4];                                       // 0x00CC(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	class UBP_PenguinBodyPreset_C*                BodyPresetDatas;                                   // 0x00D0(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash)
	class UMaterialInstanceDynamic*               OwnerDynamicMaterial;                              // 0x00D8(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash)
	bool                                          IsGhostMode;                                       // 0x00E0(0x0001)(Edit, BlueprintVisible, Net, ZeroConstructor, IsPlainOldData, RepNotify, NoDestructor, HasGetValueTypeHash)
	uint8                                         Pad_E1[0x3];                                       // 0x00E1(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	int32                                         HeadAccessorieIndex;                               // 0x00E4(0x0004)(Edit, BlueprintVisible, Net, ZeroConstructor, IsPlainOldData, RepNotify, NoDestructor, HasGetValueTypeHash)
	class UBP_PenguinHeadAccessoriePreset_C*      HeadAccessoriePresetDatas;                         // 0x00E8(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash)
	class AActor*                                 CurrentActor;                                      // 0x00F0(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnTemplate, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash)
	TMulticastInlineDelegate<void()>              OnHeadAccessorieChange;                            // 0x00F8(0x0010)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, BlueprintAssignable, BlueprintCallable)
	class UMaterialInstanceDynamic*               GhostMaterial;                                     // 0x0108(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash)

public:
	void UpdateVisualHead();
	void UpdateVisualBody();
	void SetVisibility(bool Visibility);
	void SetHeadAccessorieVisiblity(bool State);
	void SetHeadAccessorieIndex_Server_(int32 Index_0);
	void SetBodyColorIndex_Server_(int32 Index_0);
	void ReceiveBeginPlay();
	void OnRep_IsGhostMode();
	void OnRep_HeadAccessorieIndex();
	void OnRep_BodyColorIndex();
	void Init(class UMaterialInstanceDynamic* OwnerDynamicMaterial);
	void ExecuteUbergraph_BPC_LinkCharacterCustomControl(int32 EntryPoint);

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

SDK_NAMESPACE_END
