#pragma once

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

// Package: StateTreeModule

#include "Basic.hpp"

#include "DeveloperSettings_classes.hpp"
#include "CoreUObject_structs.hpp"
#include "CoreUObject_classes.hpp"
#include "Engine_classes.hpp"
#include "StateTreeModule_structs.hpp"


SDK_NAMESPACE_START

// Class StateTreeModule.StateTreeSchemaProvider
// 0x0000 (0x0000 - 0x0000)
class IStateTreeSchemaProvider final
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("StateTreeSchemaProvider")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"StateTreeSchemaProvider")
	}
	static class IStateTreeSchemaProvider* GetDefaultObj()
	{
		return GetDefaultObjImpl<IStateTreeSchemaProvider>();
	}

	class UObject* AsUObject()
	{
		return reinterpret_cast<UObject*>(this);
	}
	const class UObject* AsUObject() const
	{
		return reinterpret_cast<const UObject*>(this);
	}
};
DUMPER7_ASSERTS_IStateTreeSchemaProvider;

// Class StateTreeModule.StateTreeFunctionLibrary
// 0x0000 (0x0028 - 0x0028)
class UStateTreeFunctionLibrary final : public UBlueprintFunctionLibrary
{
public:
	static void K2_GetParametersProperty(const struct FStateTreeReference& Reference, const struct FGuid& PropertyID, int32* ReturnValue);
	static void K2_SetParametersProperty(struct FStateTreeReference& Reference, const struct FGuid& PropertyID, const int32& NewValue);
	static struct FStateTreeReference MakeStateTreeReference(class UStateTree* StateTree);
	static void SetStateTree(struct FStateTreeReference& Reference, class UStateTree* StateTree);

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("StateTreeFunctionLibrary")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"StateTreeFunctionLibrary")
	}
	static class UStateTreeFunctionLibrary* GetDefaultObj()
	{
		return GetDefaultObjImpl<UStateTreeFunctionLibrary>();
	}
};
DUMPER7_ASSERTS_UStateTreeFunctionLibrary;

// Class StateTreeModule.StateTreeSettings
// 0x0008 (0x0040 - 0x0038)
class UStateTreeSettings final : public UDeveloperSettings
{
public:
	bool                                          bAutoStartDebuggerTracesOnNonEditorTargets;        // 0x0038(0x0001)(Edit, ZeroConstructor, Config, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_39[0x7];                                       // 0x0039(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("StateTreeSettings")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"StateTreeSettings")
	}
	static class UStateTreeSettings* GetDefaultObj()
	{
		return GetDefaultObjImpl<UStateTreeSettings>();
	}
};
DUMPER7_ASSERTS_UStateTreeSettings;

// Class StateTreeModule.StateTreeNodeBlueprintBase
// 0x0030 (0x0058 - 0x0028)
class UStateTreeNodeBlueprintBase : public UObject
{
public:
	uint8                                         Pad_28[0x30];                                      // 0x0028(0x0030)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void RequestTransition(const struct FStateTreeStateLink& TargetState, const EStateTreeTransitionPriority Priority);
	void SendEvent(const struct FStateTreeEvent& Event);

	class FText GetPropertyDescriptionByPropertyName(class FName PropertyName) const;
	void GetPropertyReference(const struct FStateTreeBlueprintPropertyRef& PropertyRef) const;
	bool IsPropertyRefValid(const struct FStateTreeBlueprintPropertyRef& PropertyRef) const;
	class FText ReceiveGetDescription(EStateTreeNodeFormatting Formatting) const;

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("StateTreeNodeBlueprintBase")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"StateTreeNodeBlueprintBase")
	}
	static class UStateTreeNodeBlueprintBase* GetDefaultObj()
	{
		return GetDefaultObjImpl<UStateTreeNodeBlueprintBase>();
	}
};
DUMPER7_ASSERTS_UStateTreeNodeBlueprintBase;

// Class StateTreeModule.StateTreeTaskBlueprintBase
// 0x0008 (0x0060 - 0x0058)
class UStateTreeTaskBlueprintBase final : public UStateTreeNodeBlueprintBase
{
public:
	uint8                                         Pad_58[0x1];                                       // 0x0058(0x0001)(Fixing Size After Last Property [ Dumper-7 ])
	uint8                                         bShouldStateChangeOnReselect : 1;                  // 0x0059(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected))
	uint8                                         BitPad_59_1 : 1;                                   // 0x0059(0x0001)(Fixing Bit-Field Size Between Bits [ Dumper-7 ])
	uint8                                         bShouldCallTickOnlyOnEvents : 1;                   // 0x0059(0x0001)(BitIndex: 0x02, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected))
	uint8                                         bShouldCopyBoundPropertiesOnTick : 1;              // 0x0059(0x0001)(BitIndex: 0x03, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected))
	uint8                                         bShouldCopyBoundPropertiesOnExitState : 1;         // 0x0059(0x0001)(BitIndex: 0x04, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected))
	uint8                                         Pad_5A[0x6];                                       // 0x005A(0x0006)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void BindDelegate(const struct FStateTreeDelegateListener& Listener, const TDelegate<void()>& Delegate);
	void BroadcastDelegate(const struct FStateTreeDelegateDispatcher& Dispatcher);
	void FinishTask(const bool bSucceeded);
	EStateTreeRunStatus ReceiveEnterState(const struct FStateTreeTransitionResult& Transition);
	void ReceiveExitState(const struct FStateTreeTransitionResult& Transition);
	void ReceiveLatentEnterState(const struct FStateTreeTransitionResult& Transition);
	void ReceiveLatentTick(const float DeltaTime);
	void ReceiveStateCompleted(const EStateTreeRunStatus CompletionStatus, const struct FStateTreeActiveStates& CompletedActiveStates);
	EStateTreeRunStatus ReceiveTick(const float DeltaTime);
	void UnbindDelegate(const struct FStateTreeDelegateListener& Listener);

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("StateTreeTaskBlueprintBase")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"StateTreeTaskBlueprintBase")
	}
	static class UStateTreeTaskBlueprintBase* GetDefaultObj()
	{
		return GetDefaultObjImpl<UStateTreeTaskBlueprintBase>();
	}
};
DUMPER7_ASSERTS_UStateTreeTaskBlueprintBase;

// Class StateTreeModule.StateTreeConditionBlueprintBase
// 0x0008 (0x0060 - 0x0058)
class UStateTreeConditionBlueprintBase final : public UStateTreeNodeBlueprintBase
{
public:
	uint8                                         Pad_58[0x8];                                       // 0x0058(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	bool ReceiveTestCondition() const;

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("StateTreeConditionBlueprintBase")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"StateTreeConditionBlueprintBase")
	}
	static class UStateTreeConditionBlueprintBase* GetDefaultObj()
	{
		return GetDefaultObjImpl<UStateTreeConditionBlueprintBase>();
	}
};
DUMPER7_ASSERTS_UStateTreeConditionBlueprintBase;

// Class StateTreeModule.StateTreeConsiderationBlueprintBase
// 0x0008 (0x0060 - 0x0058)
class UStateTreeConsiderationBlueprintBase final : public UStateTreeNodeBlueprintBase
{
public:
	uint8                                         Pad_58[0x8];                                       // 0x0058(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	float ReceiveGetScore() const;

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("StateTreeConsiderationBlueprintBase")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"StateTreeConsiderationBlueprintBase")
	}
	static class UStateTreeConsiderationBlueprintBase* GetDefaultObj()
	{
		return GetDefaultObjImpl<UStateTreeConsiderationBlueprintBase>();
	}
};
DUMPER7_ASSERTS_UStateTreeConsiderationBlueprintBase;

// Class StateTreeModule.StateTreeEvaluatorBlueprintBase
// 0x0008 (0x0060 - 0x0058)
class UStateTreeEvaluatorBlueprintBase final : public UStateTreeNodeBlueprintBase
{
public:
	uint8                                         Pad_58[0x8];                                       // 0x0058(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void ReceiveTick(const float DeltaTime);
	void ReceiveTreeStart();
	void ReceiveTreeStop();

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("StateTreeEvaluatorBlueprintBase")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"StateTreeEvaluatorBlueprintBase")
	}
	static class UStateTreeEvaluatorBlueprintBase* GetDefaultObj()
	{
		return GetDefaultObjImpl<UStateTreeEvaluatorBlueprintBase>();
	}
};
DUMPER7_ASSERTS_UStateTreeEvaluatorBlueprintBase;

// Class StateTreeModule.StateTree
// 0x0210 (0x0240 - 0x0030)
class UStateTree final : public UDataAsset
{
public:
	uint32                                        LastCompiledEditorDataHash;                        // 0x0030(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_34[0x4];                                       // 0x0034(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	class UStateTreeSchema*                       Schema;                                            // 0x0038(0x0008)(ExportObject, ZeroConstructor, InstancedReference, NoDestructor, PersistentInstance, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate, TObjectPtr)
	TArray<struct FCompactStateTreeFrame>         Frames;                                            // 0x0040(0x0010)(ZeroConstructor, NativeAccessSpecifierPrivate)
	TArray<struct FCompactStateTreeState>         States;                                            // 0x0050(0x0010)(ZeroConstructor, NativeAccessSpecifierPrivate)
	TArray<struct FCompactStateTransition>        Transitions;                                       // 0x0060(0x0010)(ZeroConstructor, NativeAccessSpecifierPrivate)
	struct FInstancedStructContainer              Nodes;                                             // 0x0070(0x0010)(NativeAccessSpecifierPrivate)
	struct FStateTreeInstanceData                 DefaultInstanceData;                               // 0x0080(0x0010)(NativeAccessSpecifierPrivate)
	struct FStateTreeInstanceData                 SharedInstanceData;                                // 0x0090(0x0010)(NativeAccessSpecifierPrivate)
	uint8                                         Pad_A0[0x18];                                      // 0x00A0(0x0018)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<struct FStateTreeExternalDataDesc>     ContextDataDescs;                                  // 0x00B8(0x0010)(ZeroConstructor, NativeAccessSpecifierPrivate)
	uint8                                         Pad_C8[0x8];                                       // 0x00C8(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	struct FStateTreePropertyBindings             PropertyBindings;                                  // 0x00D0(0x0100)(NativeAccessSpecifierPrivate)
	TArray<struct FStateTreeStateIdToHandle>      IDToStateMappings;                                 // 0x01D0(0x0010)(ZeroConstructor, NativeAccessSpecifierPrivate)
	TArray<struct FStateTreeNodeIdToIndex>        IDToNodeMappings;                                  // 0x01E0(0x0010)(ZeroConstructor, NativeAccessSpecifierPrivate)
	TArray<struct FStateTreeTransitionIdToIndex>  IDToTransitionMappings;                            // 0x01F0(0x0010)(ZeroConstructor, NativeAccessSpecifierPrivate)
	struct FInstancedPropertyBag                  Parameters;                                        // 0x0200(0x0010)(NativeAccessSpecifierPrivate)
	TArray<struct FStateTreeExternalDataDesc>     ExternalDataDescs;                                 // 0x0210(0x0010)(ZeroConstructor, Transient, NativeAccessSpecifierPrivate)
	uint32                                        CompletionGlobalTasksMask;                         // 0x0220(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint16                                        NumContextData;                                    // 0x0224(0x0002)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint16                                        NumGlobalInstanceData;                             // 0x0226(0x0002)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint16                                        EvaluatorsBegin;                                   // 0x0228(0x0002)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint16                                        EvaluatorsNum;                                     // 0x022A(0x0002)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint16                                        GlobalTasksBegin;                                  // 0x022C(0x0002)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint16                                        GlobalTasksNum;                                    // 0x022E(0x0002)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	EStateTreeTaskCompletionType                  CompletionGlobalTasksControl;                      // 0x0230(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	EStateTreeParameterDataType                   ParameterDataType;                                 // 0x0231(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         bHasGlobalTransitionTasks : 1;                     // 0x0232(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate))
	uint8                                         Pad_233[0xD];                                      // 0x0233(0x000D)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("StateTree")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"StateTree")
	}
	static class UStateTree* GetDefaultObj()
	{
		return GetDefaultObjImpl<UStateTree>();
	}
};
DUMPER7_ASSERTS_UStateTree;

// Class StateTreeModule.StateTreeSchema
// 0x0000 (0x0028 - 0x0028)
class UStateTreeSchema : public UObject
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("StateTreeSchema")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"StateTreeSchema")
	}
	static class UStateTreeSchema* GetDefaultObj()
	{
		return GetDefaultObjImpl<UStateTreeSchema>();
	}
};
DUMPER7_ASSERTS_UStateTreeSchema;

SDK_NAMESPACE_END
