#pragma once

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

// Package: DataRegistry

#include "Basic.hpp"

#include "GameplayTags_structs.hpp"
#include "Engine_structs.hpp"


SDK_NAMESPACE_START

// Enum DataRegistry.EDataRegistryAcquireStatus
// NumValues: 0x0008
enum class EDataRegistryAcquireStatus : uint8
{
	NotStarted                               = 0,
	WaitingForInitialAcquire                 = 1,
	InitialAcquireFinished                   = 2,
	WaitingForResources                      = 3,
	AcquireFinished                          = 4,
	AcquireError                             = 5,
	DoesNotExist                             = 6,
	EDataRegistryAcquireStatus_MAX           = 7,
};

// Enum DataRegistry.EMetaDataRegistrySourceAssetUsage
// NumValues: 0x0005
enum class EMetaDataRegistrySourceAssetUsage : uint8
{
	NoAssets                                 = 0,
	SearchAssets                             = 1,
	RegisterAssets                           = 2,
	SearchAndRegisterAssets                  = 3,
	EMetaDataRegistrySourceAssetUsage_MAX    = 4,
};

// Enum DataRegistry.EDataRegistrySubsystemGetItemResult
// NumValues: 0x0003
enum class EDataRegistrySubsystemGetItemResult : uint8
{
	Found                                    = 0,
	NotFound                                 = 1,
	EDataRegistrySubsystemGetItemResult_MAX  = 2,
};

// Enum DataRegistry.EDataRegistryAvailability
// NumValues: 0x0007
enum class EDataRegistryAvailability : uint8
{
	DoesNotExist                             = 0,
	Unknown                                  = 1,
	Remote                                   = 2,
	OnDisk                                   = 3,
	LocalAsset                               = 4,
	PreCached                                = 5,
	EDataRegistryAvailability_MAX            = 6,
};

// ScriptStruct DataRegistry.DataRegistryLookup
// 0x0020 (0x0020 - 0x0000)
struct alignas(0x08) FDataRegistryLookup final
{
public:
	uint8                                         Pad_0[0x20];                                       // 0x0000(0x0020)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FDataRegistryLookup;

// ScriptStruct DataRegistry.DataRegistryType
// 0x0008 (0x0008 - 0x0000)
struct FDataRegistryType final
{
public:
	class FName                                   Name;                                              // 0x0000(0x0008)(Edit, BlueprintVisible, ZeroConstructor, SaveGame, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
};
DUMPER7_ASSERTS_FDataRegistryType;

// ScriptStruct DataRegistry.SoftDataRegistryOrTable
// 0x0038 (0x0038 - 0x0000)
struct FSoftDataRegistryOrTable final
{
public:
	bool                                          bUseDataRegistry;                                  // 0x0000(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_1[0x7];                                        // 0x0001(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TSoftObjectPtr<class UDataTable>              table;                                             // 0x0008(0x0028)(Edit, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FDataRegistryType                      RegistryType;                                      // 0x0030(0x0008)(Edit, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FSoftDataRegistryOrTable;

// ScriptStruct DataRegistry.DataRegistryId
// 0x0010 (0x0010 - 0x0000)
struct FDataRegistryId final
{
public:
	struct FDataRegistryType                      RegistryType;                                      // 0x0000(0x0008)(Edit, BlueprintVisible, ZeroConstructor, SaveGame, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FName                                   ItemName;                                          // 0x0008(0x0008)(Edit, BlueprintVisible, ZeroConstructor, SaveGame, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FDataRegistryId;

// ScriptStruct DataRegistry.DataRegistrySourceItemId
// 0x0040 (0x0040 - 0x0000)
struct alignas(0x08) FDataRegistrySourceItemId final
{
public:
	uint8                                         Pad_0[0x40];                                       // 0x0000(0x0040)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FDataRegistrySourceItemId;

// ScriptStruct DataRegistry.DataRegistrySource_DataTableRules
// 0x0008 (0x0008 - 0x0000)
struct FDataRegistrySource_DataTableRules final
{
public:
	bool                                          bPrecacheTable;                                    // 0x0000(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_1[0x3];                                        // 0x0001(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         CachedTableKeepSeconds;                            // 0x0004(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FDataRegistrySource_DataTableRules;

// ScriptStruct DataRegistry.DataRegistryIdFormat
// 0x0008 (0x0008 - 0x0000)
struct FDataRegistryIdFormat final
{
public:
	struct FGameplayTag                           BaseGameplayTag;                                   // 0x0000(0x0008)(Edit, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FDataRegistryIdFormat;

// ScriptStruct DataRegistry.DataRegistryCachePolicy
// 0x0014 (0x0014 - 0x0000)
struct FDataRegistryCachePolicy final
{
public:
	bool                                          bCacheIsAlwaysVolatile;                            // 0x0000(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bUseCurveTableCacheVersion;                        // 0x0001(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_2[0x2];                                        // 0x0002(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
	int32                                         MinNumberKept;                                     // 0x0004(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         MaxNumberKept;                                     // 0x0008(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         ForceKeepSeconds;                                  // 0x000C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         ForceReleaseSeconds;                               // 0x0010(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FDataRegistryCachePolicy;

// ScriptStruct DataRegistry.DataRegistryOrTableRow
// 0x0028 (0x0028 - 0x0000)
struct FDataRegistryOrTableRow final
{
public:
	bool                                          bUseDataRegistryId;                                // 0x0000(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_1[0x7];                                        // 0x0001(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	struct FDataTableRowHandle                    DataTableRow;                                      // 0x0008(0x0010)(Edit, BlueprintVisible, NoDestructor, NativeAccessSpecifierPublic)
	struct FDataRegistryId                        DataRegistryId;                                    // 0x0018(0x0010)(Edit, BlueprintVisible, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FDataRegistryOrTableRow;

SDK_NAMESPACE_END
