#pragma once

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

// Package: BP_Glue_CustomPhysics

#include "Basic.hpp"

#include "Engine_structs.hpp"
#include "PenguinHotel_classes.hpp"
#include "EN_GlueType_structs.hpp"


SDK_NAMESPACE_START

// BlueprintGeneratedClass BP_Glue_CustomPhysics.BP_Glue_CustomPhysics_C
// 0x0090 (0x0380 - 0x02F0)
class ABP_Glue_CustomPhysics_C final : public ACPP_Glue
{
public:
	struct FPointerToUberGraphFrame               UberGraphFrame;                                    // 0x02F0(0x0008)(ZeroConstructor, Transient, DuplicateTransient)
	class UTextRenderComponent*                   TextRender1;                                       // 0x02F8(0x0008)(BlueprintVisible, ZeroConstructor, InstancedReference, NonTransactional, NoDestructor, HasGetValueTypeHash)
	class UTextRenderComponent*                   TextRender;                                        // 0x0300(0x0008)(BlueprintVisible, ZeroConstructor, InstancedReference, NonTransactional, NoDestructor, HasGetValueTypeHash)
	class UStaticMeshComponent*                   GlueArea;                                          // 0x0308(0x0008)(BlueprintVisible, ZeroConstructor, InstancedReference, NonTransactional, NoDestructor, HasGetValueTypeHash)
	float                                         DebugVisualize_Scale_E16BFD1445443862273D29B037A46E00; // 0x0310(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	ETimelineDirection                            DebugVisualize__Direction_E16BFD1445443862273D29B037A46E00; // 0x0314(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	uint8                                         Pad_315[0x3];                                      // 0x0315(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	class UTimelineComponent*                     DebugVisualize;                                    // 0x0318(0x0008)(BlueprintVisible, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash)
	TArray<class UPrimitiveComponent*>            HitComponents;                                     // 0x0320(0x0010)(Edit, BlueprintVisible, ContainsInstancedReference)
	class UMaterialInstanceDynamic*               DynamicMat;                                        // 0x0330(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash)
	class ULBPC_Glue_C*                           GlueComp;                                          // 0x0338(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, InstancedReference, NoDestructor, HasGetValueTypeHash)
	TArray<class UBPC_PowerDispersion_C*>         ParentDispattionComonents;                         // 0x0340(0x0010)(Edit, BlueprintVisible, DisableEditOnInstance, ContainsInstancedReference)
	TArray<class AActor*>                         DebugParentActor;                                  // 0x0350(0x0010)(Edit, BlueprintVisible, DisableEditOnTemplate)
	double                                        GroundDistance;                                    // 0x0360(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	bool                                          LinkedGround;                                      // 0x0368(0x0001)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	uint8                                         Pad_369[0x7];                                      // 0x0369(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	class ABP_LinkManager_C*                      LinkManager;                                       // 0x0370(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnTemplate, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash)
	int32                                         MathCount;                                         // 0x0378(0x0004)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

public:
	void SetLinkComponent(class UActorComponent* Primitive, bool State);
	void ResetCustomForce();
	void ReceiveBeginPlay();
	bool PrimitiveCheck(class AActor* Actor, const class UPrimitiveComponent*& PrimitiveComp);
	void LINKCheckFunc(const struct FVector& StaticLocation, const class UPrimitiveComponent*& PrimitiveComp);
	void LINK_Overlap(class UPrimitiveComponent* PrimitiveComponent);
	void ExecuteUbergraph_BP_Glue_CustomPhysics(int32 EntryPoint);
	void DebugVisualize__UpdateFunc();
	void DebugVisualize__FinishedFunc();
	void BndEvt__BP_Glue_CustomPhysics_GlueArea_K2Node_ComponentBoundEvent_1_ComponentHitSignature__DelegateSignature(class UPrimitiveComponent* HitComponent, class AActor* OtherActor, class UPrimitiveComponent* OtherComp, const struct FVector& NormalImpulse, const struct FHitResult& Hit);
	void BndEvt__BP_Glue_CustomPhysics_GlueArea_K2Node_ComponentBoundEvent_0_ComponentBeginOverlapSignature__DelegateSignature(class UPrimitiveComponent* OverlappedComponent, class AActor* OtherActor, class UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const struct FHitResult& SweepResult);
	void AddPower(double power, class AActor* SourceActor);
	void AddCustomRevicePower(float PowerAmount_AddCustomRevicePower);
	void AddCustomForce(double AddValue);

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

SDK_NAMESPACE_END
