#pragma once

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

// Package: Dai

#include "Basic.hpp"

#include "GameplayTags_structs.hpp"
#include "Engine_classes.hpp"
#include "Dai_structs.hpp"
#include "CoreUObject_classes.hpp"


namespace SDK
{

// Class Dai.DaiAnimSet
// 0x00B8 (0x0158 - 0x00A0)
class UDaiAnimSet final : public UActorComponent
{
public:
	TMap<struct FGameplayTag, struct FGameplayTagContainer> _InjectedTags;                           // 0x00A0(0x0050)(Edit, NativeAccessSpecifierPrivate)
	class UDataTable*                             _AnimList;                                         // 0x00F0(0x0008)(ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	TArray<class UDataTable*>                     _AnimTable;                                        // 0x00F8(0x0010)(Edit, ZeroConstructor, NativeAccessSpecifierPrivate)
	TMap<struct FGameplayTag, struct FDaiTaggedAnims> _AnimSet;                                      // 0x0108(0x0050)(Edit, DisableEditOnTemplate, Transient, EditConst, NativeAccessSpecifierPrivate)

public:
	static struct FDaiAnimPlayParams getBestAngleAnimParams(const TArray<struct FDaiAnimPlayParams>& playParams, float Angle);
	static struct FDaiAnimPlayParams getRandomAnimParams(const TArray<struct FDaiAnimPlayParams>& playParams);

	void InjectAnimsTag(const struct FGameplayTag& AnimSet, const struct FGameplayTagContainer& injection);

	TArray<struct FDaiAnimPlayParams> GetAllAnimsByTag(const struct FGameplayTagContainer& Tags) const;
	class UAnimationAsset* GetAnimByTag(const struct FGameplayTagContainer& Tags, struct FDaiAnimPlayParams* playParams) const;

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

// Class Dai.DaiAnimSetInterface
// 0x0000 (0x0000 - 0x0000)
class IDaiAnimSetInterface final
{
public:
	TArray<struct FDaiAnimPlayParams> GetAllAnimsByTag(const struct FGameplayTagContainer& Tags) const;
	class UAnimationAsset* GetAnimByTag(const struct FGameplayTag& Tag, struct FDaiAnimPlayParams* playParams) const;

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

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

// Class Dai.GraphObject
// 0x0040 (0x0068 - 0x0028)
class UGraphObject : public UObject
{
public:
	class FName                                   _ObjectName;                                       // 0x0028(0x0008)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UObject*                                _Context;                                          // 0x0030(0x0008)(ZeroConstructor, Transient, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class UGraphObject*                           _Parent;                                           // 0x0038(0x0008)(ZeroConstructor, NoDestructor, Protected, TextExportTransient, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_40[0x28];                                      // 0x0040(0x0028)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void SetRuntimeInfo(const class FString& Text);

	class FString GetDisplayName() const;
	class FString GetPropertiesDescription() const;
	class FString GetRuntimeInfo() const;

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

// Class Dai.DaiCondition
// 0x0020 (0x0088 - 0x0068)
class UDaiCondition : public UGraphObject
{
public:
	bool                                          _InversedCondition;                                // 0x0068(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_69[0x7];                                       // 0x0069(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	struct FDaiNotifies                           _OnSuccessNotifies;                                // 0x0070(0x0018)(Edit, ContainsInstancedReference, Protected, NativeAccessSpecifierProtected)

public:
	static void AddConditionsListener(struct FDaiConditions& Conditions, TScriptInterface<class IDaiConditionsListenerInterface> Listener);
	static bool compareFloat(ENumberCompareOperation Operation, float A, float B);
	static bool compareInt(ENumberCompareOperation Operation, int32 A, int32 B);
	static class FString getOperationSymbol(ENumberCompareOperation Operation);
	static bool performConditions(const struct FDaiConditions& Conditions, class UObject* Context, class AActor* caller, bool Debug);
	static void RemoveConditionsListener(struct FDaiConditions& Conditions, TScriptInterface<class IDaiConditionsListenerInterface> Listener);

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

// Class Dai.ScriptDaiCondition
// 0x0000 (0x0088 - 0x0088)
class UScriptDaiCondition : public UDaiCondition
{
public:
	bool ScriptPerformCondition(class UObject* Context, class AActor* caller);

	class FString ScriptToString() const;

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

// Class Dai.CompositeCondition
// 0x0030 (0x00B8 - 0x0088)
class UCompositeCondition final : public UDaiCondition
{
public:
	struct FDaiConditions                         _Conditions;                                       // 0x0088(0x0030)(Edit, ContainsInstancedReference, NativeAccessSpecifierPublic)

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

// Class Dai.AreInSameLocation
// 0x01B8 (0x0240 - 0x0088)
class UAreInSameLocation final : public UDaiCondition
{
public:
	EDaiDistanceType                              _GeometricDistanceType;                            // 0x0088(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_89[0x7];                                       // 0x0089(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	struct FDaiContext                            _ObjectA;                                          // 0x0090(0x0078)(Edit, ContainsInstancedReference, NativeAccessSpecifierPublic)
	struct FDaiContext                            _ObjectB;                                          // 0x0108(0x0078)(Edit, ContainsInstancedReference, NativeAccessSpecifierPublic)
	float                                         _MaxDistance;                                      // 0x0180(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _IncludeOverlapA;                                  // 0x0184(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _IncludeOverlapB;                                  // 0x0185(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _Fixed2;                                           // 0x0186(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_187[0x1];                                      // 0x0187(0x0001)(Fixing Size After Last Property [ Dumper-7 ])
	struct FDaiTarget                             _TargetA;                                          // 0x0188(0x0050)(NativeAccessSpecifierPublic)
	struct FDaiTarget                             _TargetB;                                          // 0x01D8(0x0050)(NativeAccessSpecifierPublic)
	bool                                          _Fixed;                                            // 0x0228(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_229[0x3];                                      // 0x0229(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	struct FGameplayTag                           _FirstActorTag;                                    // 0x022C(0x0008)(NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FGameplayTag                           _SecondActorTag;                                   // 0x0234(0x0008)(NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _OverlapFirst;                                     // 0x023C(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          _OverlapSecond;                                    // 0x023D(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_23E[0x2];                                      // 0x023E(0x0002)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Dai.IsInCone
// 0x0108 (0x0190 - 0x0088)
class UIsInCone final : public UDaiCondition
{
public:
	struct FDaiContext                            _Observer;                                         // 0x0088(0x0078)(Edit, ContainsInstancedReference, NativeAccessSpecifierPublic)
	struct FDaiContext                            _Observed;                                         // 0x0100(0x0078)(Edit, ContainsInstancedReference, NativeAccessSpecifierPublic)
	bool                                          _Fixed;                                            // 0x0178(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_179[0x3];                                      // 0x0179(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	struct FGameplayTag                           _ObserverTag;                                      // 0x017C(0x0008)(NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FGameplayTag                           _ObservedTag;                                      // 0x0184(0x0008)(NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         _ConeHalfAngle;                                    // 0x018C(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

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

// Class Dai.IsTracebleByPlayer
// 0x0080 (0x0108 - 0x0088)
class UIsTracebleByPlayer final : public UDaiCondition
{
public:
	struct FDaiContext                            _Observed;                                         // 0x0088(0x0078)(Edit, ContainsInstancedReference, NativeAccessSpecifierPublic)
	ETraceableByPlayerLevel                       _TraceLevel;                                       // 0x0100(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	ETraceableByPlayerConditions                  _TraceCondition;                                   // 0x0101(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_102[0x6];                                      // 0x0102(0x0006)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Dai.IsVisibleOnScreen
// 0x0080 (0x0108 - 0x0088)
class UIsVisibleOnScreen final : public UDaiCondition
{
public:
	struct FDaiContext                            _Observed;                                         // 0x0088(0x0078)(Edit, ContainsInstancedReference, NativeAccessSpecifierPublic)
	float                                         _FOVDownScale;                                     // 0x0100(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_104[0x4];                                      // 0x0104(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Dai.CheckGameplayTags
// 0x00B0 (0x0138 - 0x0088)
class UCheckGameplayTags final : public UDaiCondition
{
public:
	struct FDaiContext                            _Observed;                                         // 0x0088(0x0078)(Edit, ContainsInstancedReference, NativeAccessSpecifierPublic)
	bool                                          _Fixed;                                            // 0x0100(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_101[0x3];                                      // 0x0101(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	struct FGameplayTag                           _ActorTag;                                         // 0x0104(0x0008)(NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EGameplayContainerMatchType                   _TagsToMatch;                                      // 0x010C(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_10D[0x3];                                      // 0x010D(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	struct FGameplayTagContainer                  _Tags;                                             // 0x0110(0x0020)(Edit, NativeAccessSpecifierPublic)
	bool                                          _CheckComponents;                                  // 0x0130(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_131[0x7];                                      // 0x0131(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Dai.CheckTags
// 0x0098 (0x0120 - 0x0088)
class UCheckTags final : public UDaiCondition
{
public:
	struct FDaiContext                            _Observed;                                         // 0x0088(0x0078)(Edit, ContainsInstancedReference, NativeAccessSpecifierPublic)
	bool                                          _Fixed;                                            // 0x0100(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_101[0x3];                                      // 0x0101(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	struct FGameplayTag                           _ActorTag;                                         // 0x0104(0x0008)(NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EGameplayContainerMatchType                   _TagsToMatch;                                      // 0x010C(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_10D[0x3];                                      // 0x010D(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<class FName>                           _Tags;                                             // 0x0110(0x0010)(Edit, ZeroConstructor, NativeAccessSpecifierPublic)

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

// Class Dai.DaiConditionsListenerInterface
// 0x0000 (0x0000 - 0x0000)
class IDaiConditionsListenerInterface final
{
public:
	void OnConditionSuccess();

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

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

// Class Dai.DaiContextGetter
// 0x0008 (0x0070 - 0x0068)
class UDaiContextGetter : public UGraphObject
{
public:
	uint8                                         Pad_68[0x8];                                       // 0x0068(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Dai.ScriptDaiContextGetter
// 0x0008 (0x0078 - 0x0070)
class UScriptDaiContextGetter final : public UDaiContextGetter
{
public:
	uint8                                         Pad_70[0x8];                                       // 0x0070(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	class FString ScriptGetDescription() const;
	TArray<class UObject*> ScriptProvideObjectSet(class UObject* Context, class AActor* caller) const;
	class UObject* ScriptProvideSingleObject(class UObject* Context, class AActor* caller) const;

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

// Class Dai.ProvideComponent
// 0x0090 (0x0100 - 0x0070)
class UProvideComponent final : public UDaiContextGetter
{
public:
	struct FDaiContext                            _Actor;                                            // 0x0070(0x0078)(Edit, ContainsInstancedReference, NativeAccessSpecifierPrivate)
	bool                                          _LockClass;                                        // 0x00E8(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_E9[0x7];                                       // 0x00E9(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TSubclassOf<class UActorComponent>            _Class;                                            // 0x00F0(0x0008)(Edit, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	class FName                                   _Tag;                                              // 0x00F8(0x0008)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)

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

// Class Dai.ProvideOuter
// 0x0000 (0x0070 - 0x0070)
class UProvideOuter final : public UDaiContextGetter
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("ProvideOuter")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"ProvideOuter")
	}
	static class UProvideOuter* GetDefaultObj()
	{
		return GetDefaultObjImpl<UProvideOuter>();
	}
};
DUMPER7_ASSERTS_UProvideOuter;

// Class Dai.ProvidePlayer
// 0x0008 (0x0078 - 0x0070)
class UProvidePlayer final : public UDaiContextGetter
{
public:
	int32                                         _Index;                                            // 0x0070(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_74[0x4];                                       // 0x0074(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Dai.DaiFunctions
// 0x0000 (0x0028 - 0x0028)
class UDaiFunctions : public UBlueprintFunctionLibrary
{
public:
	static bool blockadeIsBlocked(const struct FDaiBlockade& blockade);
	static bool blockadeIsBlockedBy(const struct FDaiBlockade& blockade, class FName Tag);
	static void blockadeSetBlocked(struct FDaiBlockade& blockade, bool Set, class FName Tag);
	static class FString blockadeToString(const struct FDaiBlockade& blockade);
	static bool CheckGameplayTags(class AActor* Actor, const struct FGameplayTagContainer& Tags, EGameplayContainerMatchType MatchType, bool checkComponents);
	static int32 ClearBit(int32 BitMask, int32 Index_0);
	static bool containsAnimation(class UAnimMontage* Montage, class UAnimSequenceBase* anim);
	static class AActor* findActorByActorName(const class UObject* Context, const struct FDaiActorName& Name_0, TSubclassOf<class AActor> ActorClass);
	static class AActor* findActorByGameplayTag(const class UObject* Context, const struct FGameplayTag& Tag, TSubclassOf<class AActor> ActorClass);
	static class AActor* findActorByName(const class UObject* Context, class FName Name_0, TSubclassOf<class AActor> ActorClass, bool exact);
	static class AActor* findActorByTag(const class UObject* Context, class FName Tag, TSubclassOf<class AActor> ActorClass);
	static class AActor* findActorWithInterface(const class UObject* Context, const struct FGameplayTag& Tag, TSubclassOf<class IInterface> ainterface);
	static void findAllActorsByGameplayTag(const class UObject* Context, const struct FGameplayTag& Tag, TSubclassOf<class AActor> ActorClass, TArray<class AActor*>* Actors);
	static void findAllActorsByTag(const class UObject* Context, class FName Tag, TSubclassOf<class AActor> ActorClass, TArray<class AActor*>* Actors);
	static void FindAllActorsWithComponent(class UObject* Context, TSubclassOf<class UActorComponent> ActorComponent, TArray<class AActor*>* OutActors);
	static void findAllActorsWithInterface(const class UObject* Context, const struct FGameplayTag& Tag, TSubclassOf<class IInterface> ainterface, TArray<class AActor*>* OutActors);
	static class AActor* findNearestActorByGameplayTag(const class UObject* Context, const struct FVector& Origin, const struct FGameplayTag& Tag, TSubclassOf<class AActor> ActorClass);
	static class AActor* findNearestActorByTag(const class UObject* Context, const struct FVector& Origin, class FName Tag, TSubclassOf<class AActor> ActorClass);
	static class UAnimationAsset* getAnimByAngle(class AActor* Actor, const struct FGameplayTagContainer& Tags, float hangle, struct FDaiAnimPlayParams* playParams, bool checkComponents);
	static class UAnimationAsset* GetAnimByTag(class AActor* Actor, const struct FGameplayTag& Tag, struct FDaiAnimPlayParams* playParams, bool checkComponents);
	static class UAnimationAsset* getAnimByTags(class AActor* Actor, const struct FGameplayTagContainer& Tags, struct FDaiAnimPlayParams* playParams, bool checkComponents);
	static TArray<class UObject*> getObjectSet(const struct FDaiContext& Query, class UObject* Context, class AActor* caller, TSubclassOf<class UObject> ObjectClass);
	static class UObject* getSingleObject(const struct FDaiContext& Query, class UObject* Context, class AActor* caller, TSubclassOf<class UObject> ObjectClass);
	static bool hasBit(int32 BitMask, int32 Index_0);
	static bool hasGameplayTag(class AActor* Actor, const struct FGameplayTag& Tag, bool checkComponents);
	static bool hasSlotAnimation(class UAnimMontage* Montage, class FName SlotName);
	static bool IsActorTraceableByPlayer(class APlayerController* PlayerCtrl, class AActor* Actor, const TArray<class AActor*>& IgnoreActors, ETraceableByPlayerLevel TraceLevel, ETraceableByPlayerConditions TraceCondition);
	static bool IsActorVisibleByPlayer(class APlayerController* PlayerCtrl, class AActor* Actor, float FOVDownScale);
	static bool IsComponentMasked(class UPrimitiveComponent* Component, EMaskFilter SearchedMask);
	static bool IsComponentTraceableByPlayer(class APlayerController* PlayerCtrl, class USceneComponent* Component, const TArray<class AActor*>& IgnoreActors, ETraceableByPlayerLevel TraceLevel, ETraceableByPlayerConditions TraceCondition);
	static bool IsComponentVisibleByPlayer(class APlayerController* PlayerCtrl, class USceneComponent* Component, float FOVDownScale);
	static bool IsPlayingSlotAnimation(class UAnimInstance* AnimInstance, class FName SlotName, bool IgnoreIfBlendingOut);
	static struct FDaiContext makeReferenceQuery(class AActor* Reference);
	static bool MaskedSphereTraceSingleByProfile(const class UObject* WorldContextObject, const struct FVector& Start, const struct FVector& End, float Radius, class FName ProfileName, bool bTraceComplex, const TArray<class AActor*>& ActorsToIgnore, struct FHitResult* OutHit, EMaskFilter MaskFilter);
	static class UAnimMontage* playDynamicMontage(class USkeletalMeshComponent* Mesh, const struct FDaiAnimPlayParams& playParams, float PlayRate, int32 LoopCount);
	static TArray<class UObject*> provideObjectSet(const struct FDaiContext& Query, class UObject* Context, class AActor* caller, TSubclassOf<class UObject> ObjectClass);
	static class UObject* provideSingleObject(const struct FDaiContext& Query, class UObject* Context, class AActor* caller, TSubclassOf<class UObject> ObjectClass);
	static class AActor* selectNearestActor(const TArray<class AActor*>& Actors, const struct FVector& Origin, TSubclassOf<class AActor> ActorClass);
	static int32 setBit(int32 BitMask, int32 Index_0);
	static int32 toBitmask(int32 Value);

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

// Class Dai.DaiNameBoxGenerator
// 0x0000 (0x0028 - 0x0028)
class UDaiNameBoxGenerator final : public UObject
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("DaiNameBoxGenerator")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"DaiNameBoxGenerator")
	}
	static class UDaiNameBoxGenerator* GetDefaultObj()
	{
		return GetDefaultObjImpl<UDaiNameBoxGenerator>();
	}
};
DUMPER7_ASSERTS_UDaiNameBoxGenerator;

// Class Dai.DaiNotify
// 0x0030 (0x0098 - 0x0068)
class UDaiNotify : public UGraphObject
{
public:
	struct FDaiConditions                         _Conditions;                                       // 0x0068(0x0030)(Edit, ContainsInstancedReference, NativeAccessSpecifierPrivate)

public:
	static bool performNotifies(const struct FDaiNotifies& Conditions, class UObject* Context, class AActor* caller, bool Debug);

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

// Class Dai.PlaySoundNotify
// 0x0098 (0x0130 - 0x0098)
class UPlaySoundNotify final : public UDaiNotify
{
public:
	bool                                          _Fixed;                                            // 0x0098(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_99[0x3];                                       // 0x0099(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	struct FGameplayTag                           _ActorTag;                                         // 0x009C(0x0008)(NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_A4[0x4];                                       // 0x00A4(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	struct FDaiContext                            _Notified;                                         // 0x00A8(0x0078)(Edit, ContainsInstancedReference, NativeAccessSpecifierPrivate)
	class USoundCue*                              _SoundToPlay;                                      // 0x0120(0x0008)(Edit, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	bool                                          _Attached;                                         // 0x0128(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_129[0x7];                                      // 0x0129(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Dai.ChangeTagNotify
// 0x0098 (0x0130 - 0x0098)
class UChangeTagNotify final : public UDaiNotify
{
public:
	bool                                          _Fixed;                                            // 0x0098(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_99[0x3];                                       // 0x0099(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	struct FGameplayTag                           _ActorTag;                                         // 0x009C(0x0008)(NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_A4[0x4];                                       // 0x00A4(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	struct FDaiContext                            _Notified;                                         // 0x00A8(0x0078)(Edit, ContainsInstancedReference, NativeAccessSpecifierPrivate)
	class FName                                   _Tag;                                              // 0x0120(0x0008)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	ENotifyTagOperation                           _Operation;                                        // 0x0128(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_129[0x7];                                      // 0x0129(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Dai.DaiScriptNotify
// 0x0000 (0x0098 - 0x0098)
class UDaiScriptNotify final : public UDaiNotify
{
public:
	bool ScriptPerformNotify(class UObject* Context, class AActor* caller);

	class FString ScriptToString() const;

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

// Class Dai.DaiParam
// 0x0010 (0x0078 - 0x0068)
class UDaiParam : public UGraphObject
{
public:
	uint8                                         Pad_68[0x8];                                       // 0x0068(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	bool                                          _IsUpToDate;                                       // 0x0070(0x0001)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_71[0x7];                                       // 0x0071(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void ForceUpdate();
	void NeedsUpdate();
	void SetUpToDate();

	bool IsUpToDate() const;

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

// Class Dai.ScriptDaiParam
// 0x0000 (0x0078 - 0x0078)
class UScriptDaiParam : public UDaiParam
{
public:
	void ScriptUpdate(class UObject* Context, class AActor* Actor);

	class FString ScriptToString() const;

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

// Class Dai.DaiBoolParam
// 0x0008 (0x0080 - 0x0078)
class UDaiBoolParam final : public UScriptDaiParam
{
public:
	bool                                          _Value;                                            // 0x0078(0x0001)(Edit, BlueprintVisible, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_79[0x7];                                       // 0x0079(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void UpdateValue(bool Value);

	float GetUpToDateValue() const;

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

// Class Dai.DaiFloatParam
// 0x0008 (0x0080 - 0x0078)
class UDaiFloatParam : public UScriptDaiParam
{
public:
	float                                         _Value;                                            // 0x0078(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_7C[0x4];                                       // 0x007C(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void SetCustomValue(float NewVal);
	void UpdateValue(float Value);

	float GetUpToDateValue() const;

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

// Class Dai.DaiFloatModifier
// 0x0008 (0x0088 - 0x0080)
class UDaiFloatModifier : public UDaiFloatParam
{
public:
	EDaiFloatOperator                             _Operator;                                         // 0x0080(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_81[0x3];                                       // 0x0081(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         _InValue;                                          // 0x0084(0x0004)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)

public:
	float GetDefaultValue() const;

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

// Class Dai.DaiFloatModifier1
// 0x0000 (0x0088 - 0x0088)
class UDaiFloatModifier1 final : public UDaiFloatModifier
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("DaiFloatModifier1")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"DaiFloatModifier1")
	}
	static class UDaiFloatModifier1* GetDefaultObj()
	{
		return GetDefaultObjImpl<UDaiFloatModifier1>();
	}
};
DUMPER7_ASSERTS_UDaiFloatModifier1;

// Class Dai.DaiFloatModifier2
// 0x0008 (0x0090 - 0x0088)
class UDaiFloatModifier2 : public UDaiFloatModifier
{
public:
	class AActor*                                 _Other;                                            // 0x0088(0x0008)(Edit, ZeroConstructor, Transient, EditConst, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)

public:
	class AActor* GetOther() const;

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

// Class Dai.DaiTagsComponent
// 0x0028 (0x00C8 - 0x00A0)
class UDaiTagsComponent : public UActorComponent
{
public:
	uint8                                         Pad_A0[0x8];                                       // 0x00A0(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	struct FGameplayTagContainer                  _TagContainer;                                     // 0x00A8(0x0020)(Edit, NativeAccessSpecifierPrivate)

public:
	void AppendGameplayTags(const struct FGameplayTagContainer& Tags);
	void ClearGameplayTags();
	void RemoveGameplayTags(const struct FGameplayTagContainer& Tags);
	void SetGameplayTags(const struct FGameplayTagContainer& Tags);

	bool HasAnyGameplayTag() const;

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

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

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

}

