#pragma once

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

// Package: SMSystem

#include "Basic.hpp"

#include "SMSystem_structs.hpp"
#include "CoreUObject_structs.hpp"
#include "CoreUObject_classes.hpp"
#include "Engine_classes.hpp"


namespace SDK
{

// Class SMSystem.SMInstance
// 0x06D0 (0x06F8 - 0x0028)
class USMInstance : public UObject
{
public:
	uint8                                         Pad_28[0x58];                                      // 0x0028(0x0058)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<struct FSMReferenceContainer>          ReplicatedReferences;                              // 0x0080(0x0010)(Net, ZeroConstructor, Transient, RepNotify, NativeAccessSpecifierPrivate)
	struct FGuid                                  RootStateMachineGuid;                              // 0x0090(0x0010)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(class USMInstance* Instance)> OnPreStateMachineInitializedEvent;   // 0x00A0(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(class USMInstance* Instance)> OnStateMachineInitializedEvent;      // 0x00B0(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(class USMInstance* Instance)> OnStateMachineStartedEvent;          // 0x00C0(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(class USMInstance* Instance, float DeltaSeconds)> OnStateMachineUpdatedEvent; // 0x00D0(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(class USMInstance* Instance)> OnStateMachineStoppedEvent;          // 0x00E0(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(class USMInstance* Instance)> OnStateMachineShutdownEvent;         // 0x00F0(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(class USMInstance* Instance, const struct FSMTransitionInfo& Transition)> OnStateMachineTransitionTakenEvent; // 0x0100(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(class USMInstance* Instance, const struct FSMStateInfo& NewState, const struct FSMStateInfo& PreviousState)> OnStateMachineStateChangedEvent; // 0x0110(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(class USMInstance* Instance, const struct FSMStateInfo& State)> OnStateMachineStateStartedEvent; // 0x0120(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	class USMStateMachineComponent*               ComponentOwner;                                    // 0x0130(0x0008)(ExportObject, ZeroConstructor, InstancedReference, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	TScriptInterface<class ISMStateMachineNetworkedInterface> NetworkInterface;                      // 0x0138(0x0010)(ZeroConstructor, IsPlainOldData, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_148[0x140];                                    // 0x0148(0x0140)(Fixing Size After Last Property [ Dumper-7 ])
	struct FSMStateMachine                        RootStateMachine;                                  // 0x0288(0x02C8)(Protected, NativeAccessSpecifierProtected)
	class UObject*                                R_StateMachineContext;                             // 0x0550(0x0008)(Net, ZeroConstructor, Transient, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class USMInstance*                            ReferenceOwner;                                    // 0x0558(0x0008)(ZeroConstructor, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	TSubclassOf<class USMStateMachineInstance>    StateMachineClass;                                 // 0x0560(0x0008)(Edit, ZeroConstructor, DisableEditOnInstance, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         bAutoManageTime : 1;                               // 0x0568(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, Net, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected))
	uint8                                         bStopOnEndState : 1;                               // 0x0568(0x0001)(BitIndex: 0x01, PropSize: 0x0001 (Edit, Net, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected))
	uint8                                         bCanEverTick : 1;                                  // 0x0568(0x0001)(BitIndex: 0x02, PropSize: 0x0001 (Edit, Net, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected))
	uint8                                         bCanTickWhenPaused : 1;                            // 0x0568(0x0001)(BitIndex: 0x03, PropSize: 0x0001 (Edit, Net, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected))
	uint8                                         bTickRegistered : 1;                               // 0x0568(0x0001)(BitIndex: 0x04, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected))
	uint8                                         bTickBeforeInitialize : 1;                         // 0x0568(0x0001)(BitIndex: 0x05, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected))
	uint8                                         bTickBeforeBeginPlay : 1;                          // 0x0568(0x0001)(BitIndex: 0x06, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected))
	uint8                                         Pad_569[0x3];                                      // 0x0569(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         TickInterval;                                      // 0x056C(0x0004)(Edit, Net, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_570[0x10];                                     // 0x0570(0x0010)(Fixing Size After Last Property [ Dumper-7 ])
	class UInputComponent*                        InputComponent;                                    // 0x0580(0x0008)(ExportObject, ZeroConstructor, Transient, InstancedReference, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	ESMStateMachineInput                          AutoReceiveInput;                                  // 0x0588(0x0001)(Edit, Net, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_589[0x3];                                      // 0x0589(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	int32                                         InputPriority;                                     // 0x058C(0x0004)(Edit, Net, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         bBlockInput : 1;                                   // 0x0590(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, Net, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected))
	uint8                                         Pad_591[0x7];                                      // 0x0591(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<struct FSMStateHistory>                StateHistory;                                      // 0x0598(0x0010)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, Protected, NativeAccessSpecifierProtected)
	int32                                         StateHistoryMaxCount;                              // 0x05A8(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         bEnableLogging : 1;                                // 0x05AC(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected))
	uint8                                         bLogStateChange : 1;                               // 0x05AC(0x0001)(BitIndex: 0x01, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected))
	uint8                                         bLogTransitionTaken : 1;                           // 0x05AC(0x0001)(BitIndex: 0x02, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected))
	uint8                                         bCanReplicateAsReference : 1;                      // 0x05AC(0x0001)(BitIndex: 0x03, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected))
	uint8                                         Pad_5AD[0x3];                                      // 0x05AD(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	TMap<struct FGuid, struct FGuid>              PathGuidRedirectMap;                               // 0x05B0(0x0050)(Edit, BlueprintVisible, DisableEditOnInstance, NativeAccessSpecifierPrivate)
	TMap<struct FGuid, struct FSMGuidMap>         RootPathGuidCache;                                 // 0x0600(0x0050)(DuplicateTransient, NativeAccessSpecifierPrivate)
	uint8                                         Pad_650[0x10];                                     // 0x0650(0x0010)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<class UObject*>                        ReferenceTemplates;                                // 0x0660(0x0010)(ExportObject, ZeroConstructor, DuplicateTransient, ContainsInstancedReference, UObjectWrapper, NativeAccessSpecifierPublic)
	TMap<struct FGuid, struct FSMExposedNodeFunctions> NodeExposedFunctions;                         // 0x0670(0x0050)(DuplicateTransient, NativeAccessSpecifierPrivate)
	uint8                                         Pad_6C0[0x38];                                     // 0x06C0(0x0038)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void ClearLoadedStates();
	void ClearStateHistory();
	bool EvaluateAndFindTransitionChain(class USMTransitionInstance* InFirstTransitionInstance, TArray<class USMTransitionInstance*>* OutTransitionChain, class USMStateInstance_Base** OutDestinationState, bool bRequirePreviousStateActive);
	bool EvaluateAndTakeTransitionChain(class USMTransitionInstance* InFirstTransitionInstance);
	void EvaluateTransitions();
	TMap<struct FGuid, struct FGuid> GetGuidRedirectMap();
	class USMInstance* GetPrimaryReferenceOwner();
	void Initialize(class UObject* Context);
	bool Internal_EvaluateAndTakeTransitionChainByGuid(const struct FGuid& PathGuid);
	void Internal_EventCleanup(const struct FGuid& PathGuid);
	void Internal_EventUpdate();
	void Internal_Update(float DeltaSeconds);
	void K2_InitializeAsync(class UObject* Context, const struct FLatentActionInfo& LatentInfo);
	void K2_TryGetNetworkInterface(TScriptInterface<class ISMStateMachineNetworkedInterface>* Interface, bool* bIsValid);
	void LoadFromMultipleStates(const TArray<struct FGuid>& FromGuids, bool bNotify);
	void LoadFromState(const struct FGuid& FromGuid, bool bAllParents, bool bNotify);
	void OnContextPawnRestarted(class APawn* Pawn);
	void OnPreStateMachineInitialized();
	void OnStateMachineInitialized();
	void OnStateMachineInitialStateLoaded(const struct FGuid& StateGuid);
	void OnStateMachineShutdown();
	void OnStateMachineStart();
	void OnStateMachineStateChanged(const struct FSMStateInfo& ToState, const struct FSMStateInfo& FromState);
	void OnStateMachineStateStarted(const struct FSMStateInfo& State);
	void OnStateMachineStop();
	void OnStateMachineTransitionTaken(const struct FSMTransitionInfo& Transition);
	void OnStateMachineUpdate(float DeltaSeconds);
	void PreloadAllNodeInstances();
	void REP_OnReplicatedReferencesLoaded();
	void ReplicatedRestart();
	void ReplicatedStart();
	void ReplicatedStop();
	void Restart();
	void RunUpdateAsReference(float DeltaSeconds);
	void SetAutoManageTime(bool Value);
	void SetCanEverTick(bool Value);
	void SetCanTickWhenPaused(bool Value);
	void SetContext(class UObject* Context);
	void SetGuidRedirectMap(const TMap<struct FGuid, struct FGuid>& InGuidMap);
	void SetRootStateMachineNodeClass(TSubclassOf<class USMStateMachineInstance> NewStateMachineNodeClass);
	void SetStateHistoryMaxCount(int32 NewSize);
	void SetStateMachineClass(TSubclassOf<class USMStateMachineInstance> NewStateMachineClass);
	void SetStopOnEndState(bool Value);
	void SetTickBeforeBeginPlay(bool Value);
	void SetTickInterval(float Value);
	void SetTickOnManualUpdate(bool Value);
	void Shutdown();
	void Start();
	void StartWithNewContext(class UObject* Context);
	void Stop();
	void SwitchActiveState(class USMStateInstance_Base* NewStateInstance, bool bDeactivateOtherStates);
	void SwitchActiveStateByQualifiedName(const class FString& InFullPath, bool bDeactivateOtherStates);
	bool TakeTransitionChain(const TArray<class USMTransitionInstance*>& InTransitionChain);
	void Tick(float DeltaTime);
	void Update(float DeltaSeconds);

	bool AreInitialStatesSetFromLoad() const;
	bool CanAutoManageTime() const;
	bool CanEverTick() const;
	bool CanTickOnManualUpdate() const;
	void GetAllActiveStateGuids(TArray<struct FGuid>* ActiveGuids) const;
	void GetAllActiveStateInstances(TArray<class USMStateInstance_Base*>* ActiveStateInstances) const;
	TArray<class USMInstance*> GetAllReferencedInstances(bool bIncludeChildren) const;
	void GetAllStateInstances(TArray<class USMStateInstance_Base*>* StateInstances) const;
	void GetAllTransitionInstances(TArray<class USMTransitionInstance*>* TransitionInstances) const;
	class USMStateMachineComponent* GetComponentOwner() const;
	class UObject* GetContext() const;
	class UInputComponent* GetInputComponent() const;
	TScriptInterface<class ISMStateMachineNetworkedInterface> GetNetworkInterface() const;
	class USMNodeInstance* GetNodeInstanceByGuid(const struct FGuid& Guid) const;
	class USMInstance* GetReferencedInstanceByGuid(const struct FGuid& Guid) const;
	class USMInstance* GetReferenceOwner() const;
	TSubclassOf<class USMStateMachineInstance> GetRootStateMachineNodeClass() const;
	class USMStateMachineInstance* GetRootStateMachineNodeInstance() const;
	struct FGuid GetSingleActiveStateGuid(bool bCheckNested) const;
	class USMStateInstance_Base* GetSingleActiveStateInstance(bool bCheckNested) const;
	const TArray<struct FSMStateHistory> GetStateHistory() const;
	int32 GetStateHistoryMaxCount() const;
	class USMStateInstance_Base* GetStateInstanceByGuid(const struct FGuid& Guid) const;
	class USMStateInstance_Base* GetStateInstanceByQualifiedName(const class FString& InFullPath) const;
	TSubclassOf<class USMStateMachineInstance> GetStateMachineClass() const;
	bool GetStopOnEndState() const;
	float GetTickInterval() const;
	class USMTransitionInstance* GetTransitionInstanceByGuid(const struct FGuid& Guid) const;
	bool HasStarted() const;
	bool IsActive() const;
	bool IsInEndState() const;
	bool IsInitialized() const;
	bool IsInitializingAsync() const;
	bool IsStopping() const;
	bool IsTickable() const;
	bool IsTickableWhenPaused() const;
	void TryGetNestedActiveState(struct FSMStateInfo* FoundState, bool* bSuccess) const;
	void TryGetStateInfo(const struct FGuid& Guid, struct FSMStateInfo* StateInfo, bool* bSuccess) const;
	void TryGetTransitionInfo(const struct FGuid& Guid, struct FSMTransitionInfo* TransitionInfo, bool* bSuccess) const;

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

// Class SMSystem.AnimDrivenSMInstance
// 0x00F0 (0x07E8 - 0x06F8)
class UAnimDrivenSMInstance : public USMInstance
{
public:
	class FName                                   StateMachineName;                                  // 0x06F8(0x0008)(Edit, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_700[0xE8];                                     // 0x0700(0x00E8)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void OnAnimMontageBlendingOut();
	void OnAnimMontagePlay();
	bool OnAnimStateChanged(class FName MachineName, class FName PrevStateName, class FName NextStateName);

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

// Class SMSystem.SMNodeInstance
// 0x0080 (0x00A8 - 0x0028)
class USMNodeInstance : public UObject
{
public:
	uint8                                         Pad_28[0x8];                                       // 0x0028(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	bool                                          bHasGameConstructionScripts;                       // 0x0030(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         bEvalDefaultProperties : 1;                        // 0x0031(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         bAutoEvalExposedProperties : 1;                    // 0x0031(0x0001)(BitIndex: 0x01, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         Pad_32[0x6];                                       // 0x0032(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
	class UTexture2D*                             NodeIcon;                                          // 0x0038(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	struct FVector2D                              NodeIconSize;                                      // 0x0040(0x0010)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	struct FLinearColor                           NodeIconTintColor;                                 // 0x0050(0x0010)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	bool                                          bResetVariablesOnInitialize;                       // 0x0060(0x0001)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, AdvancedDisplay, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         bIsThreadSafe : 1;                                 // 0x0061(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate))
	uint8                                         Pad_62[0x6];                                       // 0x0062(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
	class UInputComponent*                        InputComponent;                                    // 0x0068(0x0008)(ExportObject, ZeroConstructor, Transient, InstancedReference, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	ESMNodeInput                                  AutoReceiveInput;                                  // 0x0070(0x0001)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_71[0x3];                                       // 0x0071(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	int32                                         InputPriority;                                     // 0x0074(0x0004)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         bBlockInput : 1;                                   // 0x0078(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected))
	uint8                                         Pad_79[0x1F];                                      // 0x0079(0x001F)(Fixing Size After Last Property [ Dumper-7 ])
	struct FGuid                                  TemplateGuid;                                      // 0x0098(0x0010)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)

public:
	void ConstructionScript();
	void EvaluateGraphProperties(bool bTargetOnly);
	void OnContextPawnControllerChanged(class APawn* Pawn, class AController* NewController);
	void OnRootStateMachineStart();
	void OnRootStateMachineStop();
	void ResetVariables();
	void SetDisplayName(class FName NewDisplayName);
	void SetNodeColor(const struct FLinearColor& NewColor);
	void SetNodeDescriptionText(const class FText& NewDescription);
	void SetUseCustomColor(bool bValue);
	void SetUseCustomIcon(bool bValue);
	void SetVariableHidden(class FName VariableName, bool bSetHidden);
	void SetVariableReadOnly(class FName VariableName, bool bSetIsReadOnly);
	void WithExecutionEnvironment(ESMExecutionEnvironment* ExecutionEnvironment);

	class UObject* GetContext() const;
	const struct FGuid GetGuid() const;
	class UInputComponent* GetInputComponent() const;
	TScriptInterface<class ISMStateMachineNetworkedInterface> GetNetworkInterface() const;
	class FText GetNodeDescriptionText() const;
	class UTexture2D* GetNodeIcon() const;
	struct FVector2D GetNodeIconSize() const;
	struct FLinearColor GetNodeIconTintColor() const;
	class FString GetNodeName() const;
	const struct FVector2D GetNodePosition() const;
	TScriptInterface<class ISMEditorGraphNodeInterface> GetOwningEditorGraphNode() const;
	class USMStateMachineInstance* GetOwningStateMachineNodeInstance() const;
	class USMInstance* GetStateMachineInstance(bool bTopMostInstance) const;
	float GetTimeInState() const;
	bool HasUpdated() const;
	bool IsActive() const;
	bool IsEditorExecution() const;
	bool IsInEndState() const;
	bool IsInitialized() const;
	bool IsInitializedAndReadyForInputEvents() const;
	void K2_TryGetOwningEditorGraphNode(TScriptInterface<class ISMEditorGraphNodeInterface>* EditorNode, ESMValidEditorNode* IsValidNode) const;
	void OnPreCompileValidate(class USMCompilerLog* CompilerLog) const;

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

// Class SMSystem.SMStateInstance_Base
// 0x0048 (0x00F0 - 0x00A8)
class USMStateInstance_Base : public USMNodeInstance
{
public:
	uint8                                         bEvalGraphsOnStart : 1;                            // 0x00A8(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         bEvalGraphsOnUpdate : 1;                           // 0x00A8(0x0001)(BitIndex: 0x01, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         bEvalGraphsOnEnd : 1;                              // 0x00A8(0x0001)(BitIndex: 0x02, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         bEvalGraphsOnRootStateMachineStart : 1;            // 0x00A8(0x0001)(BitIndex: 0x03, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         bEvalGraphsOnRootStateMachineStop : 1;             // 0x00A8(0x0001)(BitIndex: 0x04, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         BitPad_A8_5 : 3;                                   // 0x00A8(0x0001)(Fixing Bit-Field Size For New Byte [ Dumper-7 ])
	uint8                                         Pad_A9[0x1];                                       // 0x00A9(0x0001)(Fixing Size After Last Property [ Dumper-7 ])
	uint8                                         bDisableTickTransitionEvaluation : 1;              // 0x00AA(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate))
	uint8                                         bEvalTransitionsOnStart : 1;                       // 0x00AA(0x0001)(BitIndex: 0x01, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPrivate))
	uint8                                         bAlwaysUpdate : 1;                                 // 0x00AA(0x0001)(BitIndex: 0x02, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPrivate))
	uint8                                         bCanBeEndState : 1;                                // 0x00AA(0x0001)(BitIndex: 0x03, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPrivate))
	uint8                                         bDefaultToParallel : 1;                            // 0x00AA(0x0001)(BitIndex: 0x04, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate))
	uint8                                         bAllowParallelReentry : 1;                         // 0x00AA(0x0001)(BitIndex: 0x05, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate))
	uint8                                         bStayActiveOnStateChange : 1;                      // 0x00AA(0x0001)(BitIndex: 0x06, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate))
	uint8                                         bExcludeFromAnyState : 1;                          // 0x00AA(0x0001)(BitIndex: 0x07, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate))
	uint8                                         Pad_AB[0x5];                                       // 0x00AB(0x0005)(Fixing Size After Last Property [ Dumper-7 ])
	TMulticastInlineDelegate<void(class USMStateInstance_Base* StateInstance)> OnStateBeginEvent;    // 0x00B0(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(class USMStateInstance_Base* StateInstance)> OnPostStateBeginEvent; // 0x00C0(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(class USMStateInstance_Base* StateInstance, float DeltaSeconds)> OnStateUpdateEvent; // 0x00D0(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(class USMStateInstance_Base* StateInstance)> OnStateEndEvent;      // 0x00E0(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)

public:
	void EvaluateTransitions();
	void OnStateBegin();
	void OnStateEnd();
	void OnStateUpdate(float DeltaSeconds);
	void SetActive(bool bValue, bool bSetAllParents, bool bActivateNow);
	void SetAllowParallelReentry(const bool bValue);
	void SetAlwaysUpdate(const bool bValue);
	void SetCanBeEndState(const bool bValue);
	void SetDefaultToParallel(const bool bValue);
	void SetDisableTickTransitionEvaluation(const bool bValue);
	void SetEvalTransitionsOnStart(const bool bValue);
	void SetExcludeFromAnyState(const bool bValue);
	void SetStayActiveOnStateChange(const bool bValue);
	bool SwitchToLinkedState(class USMStateInstance_Base* NextStateInstance, bool bRequireTransitionToPass, bool bActivateNow);
	bool SwitchToLinkedStateByName(const class FString& NextStateName, bool bRequireTransitionToPass, bool bActivateNow);
	bool SwitchToLinkedStateByTransition(class USMTransitionInstance* TransitionInstance, bool bRequireTransitionToPass, bool bActivateNow);
	bool SwitchToLinkedStateByTransitionName(const class FString& TransitionName, bool bRequireTransitionToPass, bool bActivateNow);

	bool AreAllIncomingTransitionsFromAnAnyState() const;
	bool AreAllOutgoingTransitionsFromAnAnyState() const;
	bool GetAllowParallelReentry() const;
	bool GetAlwaysUpdate() const;
	bool GetCanBeEndState() const;
	bool GetDefaultToParallel() const;
	bool GetDisableTickTransitionEvaluation() const;
	bool GetEvalTransitionsOnStart() const;
	bool GetExcludeFromAnyState() const;
	class USMTransitionInstance* GetIncomingTransitionByName(const class FString& Name_0) const;
	bool GetIncomingTransitions(TArray<class USMTransitionInstance*>* Transitions, bool bExcludeAlwaysFalse) const;
	class USMStateInstance_Base* GetNextStateByName(const class FString& StateName) const;
	class USMStateInstance_Base* GetNextStateByTransitionIndex(int32 Index_0) const;
	class USMTransitionInstance* GetOutgoingTransitionByName(const class FString& Name_0) const;
	bool GetOutgoingTransitions(TArray<class USMTransitionInstance*>* Transitions, bool bExcludeAlwaysFalse) const;
	class USMStateInstance_Base* GetPreviousActiveState() const;
	class USMTransitionInstance* GetPreviousActiveTransition() const;
	class USMStateInstance_Base* GetPreviousStateByName(const class FString& StateName) const;
	float GetServerTimeInState(bool* bOutUsedLocalTime) const;
	const struct FDateTime GetStartTime() const;
	void GetStateInfo(struct FSMStateInfo* State) const;
	bool GetStayActiveOnStateChange() const;
	class USMTransitionInstance* GetTransitionByIndex(int32 Index_0) const;
	class USMTransitionInstance* GetTransitionToTake() const;
	bool IsEndState() const;
	bool IsEntryState() const;
	bool IsStateMachine() const;

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

// Class SMSystem.SMStateInstance
// 0x0000 (0x00F0 - 0x00F0)
class USMStateInstance : public USMStateInstance_Base
{
public:
	class USMStateInstance* AddStateToStack(TSubclassOf<class USMStateInstance> StateClass, int32 StackIndex);
	void ClearStateStack();
	void OnPostEdit(const class FName& PropertyName);
	void OnStateInitialized();
	void OnStateShutdown();
	void RemoveStateFromStack(int32 StackIndex);

	void GetAllStatesInStackOfClass(TSubclassOf<class USMStateInstance> StateClass, TArray<class USMStateInstance_Base*>* StateStackInstances, bool bIncludeChildren) const;
	void GetAllStateStackInstances(TArray<class USMStateInstance_Base*>* StateStackInstances) const;
	class USMStateInstance_Base* GetStackOwnerInstance() const;
	int32 GetStateIndexInStack(class USMStateInstance_Base* StateInstance) const;
	class USMStateInstance_Base* GetStateInStack(int32 Index_0) const;
	class USMStateInstance_Base* GetStateInStackByClass(TSubclassOf<class USMStateInstance> StateClass, bool bIncludeChildren) const;
	int32 GetStateStackCount() const;

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

// Class SMSystem.AnimSMStateInstance
// 0x0010 (0x0100 - 0x00F0)
class UAnimSMStateInstance final : public USMStateInstance
{
public:
	class FName                                   RefMachineName;                                    // 0x00F0(0x0008)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FName                                   CorrespondingStateName;                            // 0x00F8(0x0008)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

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

// Class SMSystem.SMStateMachineInstance
// 0x0008 (0x00F8 - 0x00F0)
class USMStateMachineInstance : public USMStateInstance_Base
{
public:
	uint8                                         bWaitForEndState : 1;                              // 0x00F0(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate))
	uint8                                         bReuseCurrentState : 1;                            // 0x00F0(0x0001)(BitIndex: 0x01, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate))
	uint8                                         bReuseIfNotEndState : 1;                           // 0x00F0(0x0001)(BitIndex: 0x02, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate))
	uint8                                         Pad_F1[0x7];                                       // 0x00F1(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void OnEndStateReached();
	void OnStateInitialized();
	void OnStateMachineCompleted();
	void OnStateShutdown();
	void SetReuseCurrentState(const bool bValue);
	void SetReuseIfNotEndState(const bool bValue);
	void SetWaitForEndState(const bool bValue);

	void GetActiveStates(TArray<class USMStateInstance_Base*>* ActiveStates) const;
	void GetAllStateInstances(TArray<class USMStateInstance_Base*>* StateInstances) const;
	class USMStateInstance_Base* GetContainedStateByName(const class FString& StateName) const;
	void GetEntryStates(TArray<class USMStateInstance_Base*>* EntryStates) const;
	bool GetReuseCurrentState() const;
	bool GetReuseIfNotEndState() const;
	class USMInstance* GetStateMachineReference() const;
	bool GetWaitForEndState() const;
	bool IsStateMachineInEndState() const;

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

// Class SMSystem.AnimSMStateMachineInstance
// 0x0018 (0x0110 - 0x00F8)
class UAnimSMStateMachineInstance final : public USMStateMachineInstance
{
public:
	class FName                                   RefMachineName;                                    // 0x00F8(0x0008)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FName                                   CorrespondingStateName;                            // 0x0100(0x0008)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FName                                   InnerStateMachineName;                             // 0x0108(0x0008)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

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

// Class SMSystem.SMTransitionInstance
// 0x0018 (0x00C0 - 0x00A8)
class USMTransitionInstance : public USMNodeInstance
{
public:
	int32                                         PriorityOrder;                                     // 0x00A8(0x0004)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         bRunParallel : 1;                                  // 0x00AC(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate))
	uint8                                         bEvalIfNextStateActive : 1;                        // 0x00AC(0x0001)(BitIndex: 0x01, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate))
	uint8                                         bCanEvaluate : 1;                                  // 0x00AC(0x0001)(BitIndex: 0x02, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate))
	uint8                                         bCanEvaluateFromEvent : 1;                         // 0x00AC(0x0001)(BitIndex: 0x03, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPrivate))
	uint8                                         bCanEvalWithStartState : 1;                        // 0x00AC(0x0001)(BitIndex: 0x04, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPrivate))
	uint8                                         Pad_AD[0x3];                                       // 0x00AD(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	TMulticastInlineDelegate<void(class USMTransitionInstance* TransitionInstance)> OnTransitionEnteredEvent; // 0x00B0(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)

public:
	bool EvaluateFromManuallyBoundEvent();
	void OnTransitionEntered();
	void OnTransitionInitialized();
	void OnTransitionShutdown();
	void SetCanEvaluate(const bool bValue);
	void SetCanEvaluateFromEvent(const bool bValue);
	void SetCanEvalWithStartState(const bool bValue);
	void SetEvalIfNextStateActive(const bool bValue);
	void SetPriorityOrder(const int32 Value);
	void SetRunParallel(const bool bValue);

	bool CanEnterTransition() const;
	bool DoesTransitionPass() const;
	void GetAllTransitionsInStackOfClass(TSubclassOf<class USMTransitionInstance> TransitionClass, TArray<class USMTransitionInstance*>* TransitionStackInstances, bool bIncludeChildren) const;
	void GetAllTransitionStackInstances(TArray<class USMTransitionInstance*>* TransitionStackInstances) const;
	bool GetCanEvaluate() const;
	bool GetCanEvaluateFromEvent() const;
	bool GetCanEvalWithStartState() const;
	class USMStateInstance_Base* GetDestinationStateForActiveTransition() const;
	bool GetEvalIfNextStateActive() const;
	class USMStateInstance_Base* GetNextStateInstance() const;
	class USMStateInstance_Base* GetPreviousStateInstance() const;
	int32 GetPriorityOrder() const;
	bool GetRunParallel() const;
	const struct FDateTime GetServerTimestamp() const;
	class USMStateInstance_Base* GetSourceStateForActiveTransition() const;
	class USMTransitionInstance* GetStackOwnerInstance() const;
	int32 GetTransitionIndexInStack(class USMTransitionInstance* TransitionInstance) const;
	void GetTransitionInfo(struct FSMTransitionInfo* Transition) const;
	class USMTransitionInstance* GetTransitionInStack(int32 Index_0) const;
	class USMTransitionInstance* GetTransitionInStackByClass(TSubclassOf<class USMTransitionInstance> TransitionClass, bool bIncludeChildren) const;
	int32 GetTransitionStackCount() const;
	bool IsTransitionFromAnyState() const;
	bool IsTransitionFromLinkState() const;

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

// Class SMSystem.AnimSMTransitionInstance
// 0x0038 (0x00F8 - 0x00C0)
class UAnimSMTransitionInstance final : public USMTransitionInstance
{
public:
	class FName                                   MachineName;                                       // 0x00C0(0x0008)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FName                                   PrevStateName;                                     // 0x00C8(0x0008)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FName                                   NextStateName;                                     // 0x00D0(0x0008)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          IsFromAnyState;                                    // 0x00D8(0x0001)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_D9[0x1F];                                      // 0x00D9(0x001F)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void OnRefAnimBPStateChanged();

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

// Class SMSystem.SMEditorGraphNodeInterface
// 0x0000 (0x0000 - 0x0000)
class ISMEditorGraphNodeInterface final
{
public:
	TScriptInterface<class ISMEditorGraphNode_StateBaseInterface> AsStateBaseInterface();
	void ResetNodeName();
	bool SetNodeName(const class FString& NewName, class FText* OutErrorMessage);

	TArray<TScriptInterface<class ISMEditorGraphPropertyNodeInterface>> GetAllEditorGraphProperties(const class USMNodeInstance* NodeInstance) const;
	TScriptInterface<class ISMEditorGraphPropertyNodeInterface> GetEditorGraphProperty(class FName PropertyName, const class USMNodeInstance* NodeInstance, int32 ArrayIndex) const;
	TArray<TScriptInterface<class ISMEditorGraphPropertyNodeInterface>> GetEditorGraphPropertyAsArray(class FName PropertyName, const class USMNodeInstance* NodeInstance, int32 ArrayIndex) const;
	class FString GetNodeName() const;

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

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

// Class SMSystem.SMEditorGraphNode_StateBaseInterface
// 0x0000 (0x0000 - 0x0000)
class ISMEditorGraphNode_StateBaseInterface final
{
public:
	struct FGameplayTagContainer GetAnyStateTags();
	void SetAnyStateTags(const struct FGameplayTagContainer& InAnyStateTags);

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

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

// Class SMSystem.SMEditorGraphPropertyNodeInterface
// 0x0000 (0x0000 - 0x0000)
class ISMEditorGraphPropertyNodeInterface final
{
public:
	void ResetProperty();
	void SetHighlight(bool bEnable, const struct FLinearColor& Color, bool bClearOnCompile);
	void SetNotification(bool bEnable, ESMLogType Severity, const class FString& Message, bool bClearOnCompile);
	void SetNotificationAndHighlight(bool bEnable, ESMLogType Severity, const class FString& Message, bool bClearOnCompile);

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

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

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

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

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

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

// Class SMSystem.SMStateMachineNetworkedInterface
// 0x0000 (0x0000 - 0x0000)
class ISMStateMachineNetworkedInterface final
{
public:
	bool HasAuthority() const;
	bool IsConfiguredForNetworking() const;
	bool IsSimulatedProxy() const;

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

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

// Class SMSystem.SMAnimInstance
// 0x0120 (0x0490 - 0x0370)
class USMAnimInstance : public UAnimInstance
{
public:
	uint8                                         Pad_368[0x10];                                     // 0x0368(0x0010)(Fixing Size After Last Property [ Dumper-7 ])
	TMap<int32, class FName>                      MachineIdToNameMap;                                // 0x0378(0x0050)(Edit, BlueprintVisible, BlueprintReadOnly, EditConst, Protected, NativeAccessSpecifierProtected)
	TArray<class FName>                           RegisteredStateNames;                              // 0x03C8(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Protected, NativeAccessSpecifierProtected)
	bool                                          DebugInfo_LogStateChange;                          // 0x03D8(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_3D9[0xB7];                                     // 0x03D9(0x00B7)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void FillAllStateNames();
	void OnAnimMontageBlendingOut(class UAnimMontage* InMontage, bool InInterrupted);
	void OnAnimMontageStarted(class UAnimMontage* InMontage);
	void OnAnimStateEnter(const struct FAnimNode_StateMachine& Machine, int32 PrevStateIndex, int32 NextStateIndex);
	bool OnAnimStateEnterBP(class FName InStateEnterName);
	void OnAnimStateExit(const struct FAnimNode_StateMachine& Machine, int32 PrevStateIndex, int32 NextStateIndex);
	bool OnAnimStateExitBP(class FName InStateExitName);
	void SetDebugInfoLogStateChagne(bool InValue);

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

// Class SMSystem.SMBlueprint
// 0x0008 (0x00B0 - 0x00A8)
class USMBlueprint final : public UBlueprint
{
public:
	int32                                         AssetVersion;                                      // 0x00A8(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, AssetRegistrySearchable, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         PluginVersion;                                     // 0x00AC(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, AssetRegistrySearchable, HasGetValueTypeHash, NativeAccessSpecifierPublic)

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

// Class SMSystem.SMNodeBlueprint
// 0x0008 (0x00B0 - 0x00A8)
class USMNodeBlueprint final : public UBlueprint
{
public:
	int32                                         AssetVersion;                                      // 0x00A8(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, AssetRegistrySearchable, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         PluginVersion;                                     // 0x00AC(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, AssetRegistrySearchable, HasGetValueTypeHash, NativeAccessSpecifierPublic)

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

// Class SMSystem.SMBlueprintGeneratedClass
// 0x0010 (0x0360 - 0x0350)
class USMBlueprintGeneratedClass final : public UBlueprintGeneratedClass
{
public:
	struct FGuid                                  RootGuid;                                          // 0x0350(0x0010)(ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)

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

// Class SMSystem.SMNodeBlueprintGeneratedClass
// 0x0000 (0x0350 - 0x0350)
class USMNodeBlueprintGeneratedClass final : public UBlueprintGeneratedClass
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("SMNodeBlueprintGeneratedClass")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"SMNodeBlueprintGeneratedClass")
	}
	static class USMNodeBlueprintGeneratedClass* GetDefaultObj()
	{
		return GetDefaultObjImpl<USMNodeBlueprintGeneratedClass>();
	}
};
DUMPER7_ASSERTS_USMNodeBlueprintGeneratedClass;

// Class SMSystem.SMConduitInstance
// 0x0008 (0x00F8 - 0x00F0)
class USMConduitInstance : public USMStateInstance_Base
{
public:
	bool                                          bEvalGraphsOnInitialize;                           // 0x00F0(0x0001)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bEvalGraphsOnTransitionEval;                       // 0x00F1(0x0001)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         bEvalWithTransitions : 1;                          // 0x00F2(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate))
	uint8                                         bCanEvaluate : 1;                                  // 0x00F2(0x0001)(BitIndex: 0x01, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate))
	uint8                                         Pad_F3[0x5];                                       // 0x00F3(0x0005)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void OnConduitEntered();
	void OnConduitInitialized();
	void OnConduitShutdown();
	void SetCanEvaluate(const bool bValue);
	void SetEvalWithTransitions(const bool bValue);

	bool CanEnterTransition() const;
	bool GetCanEvaluate() const;
	bool GetEvalWithTransitions() const;

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

// Class SMSystem.SMCompilerLog
// 0x0000 (0x0028 - 0x0028)
class USMCompilerLog final : public UObject
{
public:
	void log(ESMCompilerLogType Severity, const class FString& Message);
	void LogProperty(class FName PropertyName, const class USMNodeInstance* NodeInstance, const class FString& Message, ESMCompilerLogType Severity, bool bHighlight, bool bSilent, int32 ArrayIndex);

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

// Class SMSystem.SMRuntimeSettings
// 0x0008 (0x0030 - 0x0028)
class USMRuntimeSettings final : public UObject
{
public:
	bool                                          bPreloadDefaultNodes;                              // 0x0028(0x0001)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_29[0x7];                                       // 0x0029(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class SMSystem.SMEntryStateInstance
// 0x0000 (0x00F0 - 0x00F0)
class USMEntryStateInstance final : public USMStateInstance_Base
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("SMEntryStateInstance")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"SMEntryStateInstance")
	}
	static class USMEntryStateInstance* GetDefaultObj()
	{
		return GetDefaultObjImpl<USMEntryStateInstance>();
	}
};
DUMPER7_ASSERTS_USMEntryStateInstance;

// Class SMSystem.SMAnyStateInstance
// 0x0000 (0x00F0 - 0x00F0)
class USMAnyStateInstance final : public USMStateInstance_Base
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("SMAnyStateInstance")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"SMAnyStateInstance")
	}
	static class USMAnyStateInstance* GetDefaultObj()
	{
		return GetDefaultObjImpl<USMAnyStateInstance>();
	}
};
DUMPER7_ASSERTS_USMAnyStateInstance;

// Class SMSystem.SMStateMachineComponent
// 0x0180 (0x0220 - 0x00A0)
class USMStateMachineComponent : public UActorComponent
{
public:
	uint8                                         Pad_A0[0x10];                                      // 0x00A0(0x0010)(Fixing Size After Last Property [ Dumper-7 ])
	TMulticastInlineDelegate<void(class USMInstance* Instance)> OnStateMachineInitializedEvent;      // 0x00B0(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(class USMInstance* Instance)> OnStateMachineStartedEvent;          // 0x00C0(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(class USMInstance* Instance, float DeltaSeconds)> OnStateMachineUpdatedEvent; // 0x00D0(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(class USMInstance* Instance)> OnStateMachineStoppedEvent;          // 0x00E0(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(class USMInstance* Instance)> OnStateMachineShutdownEvent;         // 0x00F0(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(class USMInstance* Instance, const struct FSMTransitionInfo& Transition)> OnStateMachineTransitionTakenEvent; // 0x0100(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(class USMInstance* Instance, const struct FSMStateInfo& NewState, const struct FSMStateInfo& PreviousState)> OnStateMachineStateChangedEvent; // 0x0110(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(class USMInstance* Instance, const struct FSMStateInfo& State)> OnStateMachineStateStartedEvent; // 0x0120(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TSet<class UActorChannel*>                    CurrentActorChannels;                              // 0x0130(0x0050)(Transient, UObjectWrapper, NativeAccessSpecifierPrivate)
	uint8                                         Pad_180[0x24];                                     // 0x0180(0x0024)(Fixing Size After Last Property [ Dumper-7 ])
	uint8                                         bAutomaticallyHandleNewConnections : 1;            // 0x01A4(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         Pad_1A5[0x3];                                      // 0x01A5(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	TSubclassOf<class USMInstance>                StateMachineClass;                                 // 0x01A8(0x0008)(Edit, BlueprintVisible, Net, ZeroConstructor, NoDestructor, ExposeOnSpawn, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TArray<TSubclassOf<class USubSMInstance>>     SubStateMachineClasses;                            // 0x01B0(0x0010)(Edit, BlueprintVisible, ZeroConstructor, ExposeOnSpawn, UObjectWrapper, NativeAccessSpecifierPublic)
	uint8                                         bInitializeOnBeginPlay : 1;                        // 0x01C0(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, BlueprintVisible, Net, NoDestructor, ExposeOnSpawn, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         bStartOnBeginPlay : 1;                             // 0x01C0(0x0001)(BitIndex: 0x01, PropSize: 0x0001 (Edit, BlueprintVisible, Net, NoDestructor, ExposeOnSpawn, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         bStopOnEndPlay : 1;                                // 0x01C0(0x0001)(BitIndex: 0x02, PropSize: 0x0001 (Edit, BlueprintVisible, Net, NoDestructor, ExposeOnSpawn, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	ESMThreadMode                                 BeginPlayInitializationMode;                       // 0x01C1(0x0001)(Edit, BlueprintVisible, Net, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, ExposeOnSpawn, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         bReuseInstanceAfterShutdown : 1;                   // 0x01C2(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, Net, DisableEditOnInstance, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         bLetInstanceManageTick : 1;                        // 0x01C2(0x0001)(BitIndex: 0x01, PropSize: 0x0001 (Edit, BlueprintVisible, DisableEditOnInstance, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	ESMNetworkConfigurationType                   StateChangeAuthority;                              // 0x01C3(0x0001)(Edit, BlueprintVisible, Net, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	ESMNetworkConfigurationType                   NetworkTickConfiguration;                          // 0x01C4(0x0001)(Edit, BlueprintVisible, Net, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	ESMNetworkConfigurationType                   NetworkStateExecution;                             // 0x01C5(0x0001)(Edit, BlueprintVisible, Net, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         bIncludeSimulatedProxies : 1;                      // 0x01C6(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, BlueprintVisible, Net, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	ESMThreadMode                                 ReplicatedInitializationMode;                      // 0x01C7(0x0001)(Edit, BlueprintVisible, Net, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	ESMNetworkConfigurationType                   NetworkTransitionEnteredConfiguration;             // 0x01C8(0x0001)(Edit, BlueprintVisible, Net, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         bWaitForTransactionsFromServer : 1;                // 0x01C9(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, BlueprintVisible, Net, DisableEditOnInstance, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         bHandleControllerChange : 1;                       // 0x01C9(0x0001)(BitIndex: 0x01, PropSize: 0x0001 (Edit, Net, DisableEditOnInstance, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         bCalculateServerTimeForClients : 1;                // 0x01C9(0x0001)(BitIndex: 0x02, PropSize: 0x0001 (Edit, BlueprintVisible, Net, DisableEditOnInstance, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         bUseOwnerNetUpdateFrequency : 1;                   // 0x01C9(0x0001)(BitIndex: 0x03, PropSize: 0x0001 (Edit, BlueprintVisible, Net, DisableEditOnInstance, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         Pad_1CA[0x2];                                      // 0x01CA(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         ServerNetUpdateFrequency;                          // 0x01CC(0x0004)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         ClientNetUpdateFrequency;                          // 0x01D0(0x0004)(Edit, BlueprintVisible, Net, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         bAlwaysMulticast : 1;                              // 0x01D4(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, BlueprintVisible, Net, DisableEditOnInstance, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         Pad_1D5[0x3];                                      // 0x01D5(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	class USMStateMachineComponent*               ComponentToCopy;                                   // 0x01D8(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, Transient, InstancedReference, NoDestructor, ExposeOnSpawn, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_1E0[0x18];                                     // 0x01E0(0x0018)(Fixing Size After Last Property [ Dumper-7 ])
	class USMInstance*                            R_Instance;                                        // 0x01F8(0x0008)(Net, ZeroConstructor, Transient, RepNotify, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class USMInstance*                            InstanceTemplate;                                  // 0x0200(0x0008)(Edit, ExportObject, ZeroConstructor, DisableEditOnInstance, EditConst, InstancedReference, DuplicateTransient, NoDestructor, Protected, PersistentInstance, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	TArray<class USubSMInstance*>                 SubInstances;                                      // 0x0208(0x0010)(ZeroConstructor, Transient, Protected, NativeAccessSpecifierProtected)
	uint8                                         bCanInstanceNetworkTick : 1;                       // 0x0218(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Transient, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected))
	uint8                                         Pad_219[0x7];                                      // 0x0219(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void CLIENT_ActivateStates(const TArray<struct FSMActivateStateTransaction>& StateTransactions);
	void CLIENT_FullSync(const struct FSMFullSyncTransaction& FullSyncTransaction);
	void CLIENT_Shutdown(const struct FSMTransaction_Base& Transaction);
	void CLIENT_Start(const struct FSMTransaction_Base& Transaction);
	void CLIENT_Stop(const struct FSMTransaction_Base& Transaction);
	void CLIENT_TakeTransitions(const TArray<struct FSMTransitionTransaction>& Transactions);
	void CopySettingsFromOtherComponent(class USMStateMachineComponent* OtherComponent);
	void Initialize(class UObject* Context);
	void Internal_OnInstanceInitializedAsync(class USMInstance* Instance);
	void Internal_OnReplicatedInstanceInitialized(class USMInstance* Instance);
	void Internal_OnStateMachineShutdown(class USMInstance* Instance);
	void Internal_OnStateMachineStarted(class USMInstance* Instance);
	void Internal_OnStateMachineStateChanged(class USMInstance* Instance, const struct FSMStateInfo& ToState, const struct FSMStateInfo& FromState);
	void Internal_OnStateMachineStateStarted(class USMInstance* Instance, const struct FSMStateInfo& State);
	void Internal_OnStateMachineStopped(class USMInstance* Instance);
	void Internal_OnStateMachineTransitionTaken(class USMInstance* Instance, const struct FSMTransitionInfo& Transition);
	void Internal_OnStateMachineUpdated(class USMInstance* Instance, float DeltaSeconds);
	void K2_InitializeAsync(class UObject* Context, const struct FLatentActionInfo& LatentInfo);
	void MULTICAST_ActivateStates(const TArray<struct FSMActivateStateTransaction>& StateTransactions);
	void MULTICAST_FullSync(const struct FSMFullSyncTransaction& FullSyncTransaction);
	void MULTICAST_Shutdown(const struct FSMTransaction_Base& Transaction);
	void MULTICAST_Start(const struct FSMTransaction_Base& Transaction);
	void MULTICAST_Stop(const struct FSMTransaction_Base& Transaction);
	void MULTICAST_TakeTransitions(const TArray<struct FSMTransitionTransaction>& Transactions);
	void OnContextPawnControllerChanged(class APawn* Pawn, class AController* NewController);
	void OnPostInitialize();
	void REP_OnInstanceLoaded();
	void Restart();
	void SERVER_ActivateStates(const TArray<struct FSMActivateStateTransaction>& StateTransactions);
	void SERVER_FullSync(const struct FSMFullSyncTransaction& FullSyncTransaction);
	void SERVER_Initialize(const struct FSMInitializeTransaction& Transaction);
	void SERVER_RequestFullSync(bool bForceFullRefresh);
	void SERVER_Shutdown(const struct FSMTransaction_Base& Transaction);
	void SERVER_Start(const struct FSMTransaction_Base& Transaction);
	void SERVER_Stop(const struct FSMTransaction_Base& Transaction);
	void SERVER_TakeTransitions(const TArray<struct FSMTransitionTransaction>& TransitionTransactions);
	void SERVER_Update(float DeltaTime);
	void SetCanInstanceNetworkTick(bool bCanEverTick);
	void Shutdown();
	void Start();
	void Stop();
	void Update(float DeltaSeconds);

	class UObject* GetContextForInitialization() const;
	class USMInstance* GetInstance() const;
	class AActor* GetTopMostParentActor() const;
	bool IsInitialized() const;
	bool IsStateMachineActive() const;

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

// Class SMSystem.SMBlueprintUtils
// 0x0000 (0x0028 - 0x0028)
class USMBlueprintUtils final : public UBlueprintFunctionLibrary
{
public:
	static class USMInstance* CreateStateMachineInstanceFromTemplate(TSubclassOf<class USMInstance> StateMachineClass, class UObject* Context, class USMInstance* Template, bool bInitializeNow);
	static class USMInstance* K2_CreateStateMachineInstance(TSubclassOf<class USMInstance> StateMachineClass, class UObject* Context, bool bInitializeNow);
	static class USMInstance* K2_CreateStateMachineInstanceAsync(TSubclassOf<class USMInstance> StateMachineClass, class UObject* Context, const struct FLatentActionInfo& LatentInfo);
	static class USMInstance* K2_CreateStateMachineInstancePure(TSubclassOf<class USMInstance> StateMachineClass, class UObject* Context, bool bInitializeNow);

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

// Class SMSystem.SubSMConduitInstance
// 0x0000 (0x00F8 - 0x00F8)
class USubSMConduitInstance final : public USMConduitInstance
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("SubSMConduitInstance")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"SubSMConduitInstance")
	}
	static class USubSMConduitInstance* GetDefaultObj()
	{
		return GetDefaultObjImpl<USubSMConduitInstance>();
	}
};
DUMPER7_ASSERTS_USubSMConduitInstance;

// Class SMSystem.SubSMInstance
// 0x0018 (0x0710 - 0x06F8)
class USubSMInstance : public USMInstance
{
public:
	uint8                                         Pad_6F8[0x18];                                     // 0x06F8(0x0018)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void NotifyMainStateMachineTransitionTaken(const struct FSMTransitionInfo& Transition);
	void OnRefStateMachineStarted(class USMInstance* Instance);
	void OnRefStateMachineStopped(class USMInstance* Instance);

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

// Class SMSystem.SubSMTransitionInstance
// 0x0018 (0x00D8 - 0x00C0)
class USubSMTransitionInstance final : public USMTransitionInstance
{
public:
	class FString                                 TargetTransitionName;                              // 0x00C0(0x0010)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          IsFromAnyState;                                    // 0x00D0(0x0001)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_D1[0x7];                                       // 0x00D1(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void OnMainStateMachineTransitionTaken(class USMInstance* Instance, const struct FSMTransitionInfo& Transition);

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

}

