#pragma once

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

// Package: LevelStreaming

#include "Basic.hpp"

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


namespace SDK
{

// Enum LevelStreaming.EWorldPartitionStateRequestResponse
// NumValues: 0x0004
enum class EWorldPartitionStateRequestResponse : uint8
{
	SUCCESS                                  = 0,
	TIMEOUT                                  = 1,
	FAILURE                                  = 2,
	EWorldPartitionStateRequestResponse_MAX  = 3,
};

// Enum LevelStreaming.EWorldStateRequestState
// NumValues: 0x0009
enum class EWorldStateRequestState : uint8
{
	Invalid                                  = 0,
	Waiting                                  = 1,
	Invalidating                             = 2,
	Preloading                               = 3,
	ReadyForActivation                       = 4,
	ScheduledActivation                      = 5,
	Activating                               = 6,
	Completed                                = 7,
	EWorldStateRequestState_MAX              = 8,
};

// Enum LevelStreaming.ELevelStreamingManagerInitializationStatus
// NumValues: 0x0004
enum class ELevelStreamingManagerInitializationStatus : uint8
{
	NotInitialized                           = 0,
	InitializedPartially                     = 1,
	Initialized                              = 2,
	ELevelStreamingManagerInitializationStatus_MAX = 3,
};

// Enum LevelStreaming.EWorldPartitionLoadingScreenState
// NumValues: 0x0005
enum class EWorldPartitionLoadingScreenState : uint8
{
	Inactive                                 = 0,
	Activating                               = 1,
	Active                                   = 2,
	Deactivating                             = 3,
	EWorldPartitionLoadingScreenState_MAX    = 4,
};

// Enum LevelStreaming.EWorldStateSubQueryType
// NumValues: 0x0005
enum class EWorldStateSubQueryType : uint8
{
	Unspecified                              = 0,
	Explicit                                 = 1,
	ParentPropagation                        = 2,
	ChildPropagation                         = 3,
	EWorldStateSubQueryType_MAX              = 4,
};

// Enum LevelStreaming.EWorldStateRequestActivationMode
// NumValues: 0x0005
enum class EWorldStateRequestActivationMode : uint8
{
	PreloadThenWait                          = 0,
	PreloadThenActivate                      = 1,
	ActivateInstantly                        = 2,
	ForceActivateInstantly                   = 3,
	EWorldStateRequestActivationMode_MAX     = 4,
};

// ScriptStruct LevelStreaming.LevelStreamingComponentData
// 0x0018 (0x0018 - 0x0000)
struct FLevelStreamingComponentData final
{
public:
	class FName                                   Name;                                              // 0x0000(0x0008)(ZeroConstructor, SaveGame, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TArray<uint8>                                 Properties;                                        // 0x0008(0x0010)(ZeroConstructor, SaveGame, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FLevelStreamingComponentData;

// ScriptStruct LevelStreaming.LevelStreamingRuntimeActorData
// 0x0090 (0x0090 - 0x0000)
struct FLevelStreamingRuntimeActorData final
{
public:
	TSubclassOf<class UObject>                    Class;                                             // 0x0000(0x0008)(ZeroConstructor, Transient, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	struct FSoftClassPath                         ClassPath;                                         // 0x0008(0x0020)(ZeroConstructor, SaveGame, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	TSoftObjectPtr<class ULevel>                  LevelHandle;                                       // 0x0028(0x0028)(SaveGame, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FGuid                                  Guid;                                              // 0x0050(0x0010)(ZeroConstructor, SaveGame, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FName                                   CellName;                                          // 0x0060(0x0008)(ZeroConstructor, SaveGame, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TArray<uint8>                                 Properties;                                        // 0x0068(0x0010)(ZeroConstructor, SaveGame, NativeAccessSpecifierPublic)
	TArray<struct FLevelStreamingComponentData>   Components;                                        // 0x0078(0x0010)(ZeroConstructor, SaveGame, NativeAccessSpecifierPublic)
	uint8                                         Pad_88[0x8];                                       // 0x0088(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FLevelStreamingRuntimeActorData;

// ScriptStruct LevelStreaming.StreamableLevelHandle
// 0x0028 (0x0028 - 0x0000)
struct FStreamableLevelHandle final
{
public:
	TSoftObjectPtr<class UWorld>                  Level;                                             // 0x0000(0x0028)(Edit, BlueprintVisible, BlueprintReadOnly, SaveGame, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
};
DUMPER7_ASSERTS_FStreamableLevelHandle;

// ScriptStruct LevelStreaming.LevelStreamingActorAtachmentData
// 0x0080 (0x0080 - 0x0000)
struct FLevelStreamingActorAtachmentData final
{
public:
	struct FGuid                                  Guid;                                              // 0x0000(0x0010)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FName                                   ComponentName;                                     // 0x0010(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FName                                   SocketName;                                        // 0x0018(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FTransform                             Offset;                                            // 0x0020(0x0060)(IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FLevelStreamingActorAtachmentData;

// ScriptStruct LevelStreaming.LevelStreamingActorData
// 0x0030 (0x0030 - 0x0000)
struct FLevelStreamingActorData final
{
public:
	struct FGuid                                  Guid;                                              // 0x0000(0x0010)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TArray<uint8>                                 Properties;                                        // 0x0010(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
	TArray<struct FLevelStreamingComponentData>   Components;                                        // 0x0020(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FLevelStreamingActorData;

// ScriptStruct LevelStreaming.LevelStreamingCachedActorData
// 0x0060 (0x0060 - 0x0000)
struct FLevelStreamingCachedActorData final
{
public:
	uint8                                         Pad_0[0x8];                                        // 0x0000(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	struct FSoftClassPath                         Class;                                             // 0x0008(0x0020)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	TSoftObjectPtr<class AActor>                  Actor;                                             // 0x0028(0x0028)(Edit, BlueprintVisible, BlueprintReadOnly, EditConst, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	struct FGuid                                  Guid;                                              // 0x0050(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
};
DUMPER7_ASSERTS_FLevelStreamingCachedActorData;

// ScriptStruct LevelStreaming.DataLayerStatus
// 0x0040 (0x0040 - 0x0000)
struct FDataLayerStatus final
{
public:
	TSoftObjectPtr<class UDataLayerAsset>         Handle;                                            // 0x0000(0x0028)(Edit, BlueprintVisible, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EDataLayerRuntimeState                        State;                                             // 0x0028(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bIsRecursive;                                      // 0x0029(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_2A[0x6];                                       // 0x002A(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
	class UDataLayerInstance*                     Instance;                                          // 0x0030(0x0008)(ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_38[0x8];                                       // 0x0038(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FDataLayerStatus;

// ScriptStruct LevelStreaming.WorldStateDataLayerQuery
// 0x0050 (0x0050 - 0x0000)
struct FWorldStateDataLayerQuery final
{
public:
	struct FDataLayerStatus                       DataLayerState;                                    // 0x0000(0x0040)(Edit, BlueprintVisible, NativeAccessSpecifierPublic)
	TArray<TSoftObjectPtr<class AActor>>          ActorsToLoad;                                      // 0x0040(0x0010)(Edit, BlueprintVisible, ZeroConstructor, UObjectWrapper, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FWorldStateDataLayerQuery;

// ScriptStruct LevelStreaming.StreamingSourceBasicParams
// 0x0040 (0x0040 - 0x0000)
struct FStreamingSourceBasicParams final
{
public:
	float                                         Radius;                                            // 0x0000(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bUseCustomLocation;                                // 0x0004(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_5[0x3];                                        // 0x0005(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	struct FVector                                CustomLocation;                                    // 0x0008(0x0018)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FRotator                               CustomRotation;                                    // 0x0020(0x0018)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, NativeAccessSpecifierPublic)
	bool                                          bEnabled;                                          // 0x0038(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_39[0x7];                                       // 0x0039(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FStreamingSourceBasicParams;

// ScriptStruct LevelStreaming.WorldPartitionStateRequestDataSimple
// 0x0068 (0x0068 - 0x0000)
struct FWorldPartitionStateRequestDataSimple
{
public:
	struct FStreamingSourceBasicParams            StreamingSourceParams;                             // 0x0000(0x0040)(Edit, BlueprintVisible, NoDestructor, NativeAccessSpecifierPublic)
	TArray<struct FGameplayTag>                   Tags;                                              // 0x0040(0x0010)(Edit, BlueprintVisible, ZeroConstructor, NativeAccessSpecifierPublic)
	TArray<struct FWorldStateDataLayerQuery>      DataLayerQueries;                                  // 0x0050(0x0010)(Edit, BlueprintVisible, ZeroConstructor, NativeAccessSpecifierPublic)
	bool                                          bKeepStreamingWhenCompleted;                       // 0x0060(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EStreamingSourcePriority                      Priority;                                          // 0x0061(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bIsEditable;                                       // 0x0062(0x0001)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_63[0x5];                                       // 0x0063(0x0005)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FWorldPartitionStateRequestDataSimple;

// ScriptStruct LevelStreaming.WorldPartitionStateRequestData
// 0x0068 (0x00D0 - 0x0068)
struct FWorldPartitionStateRequestData final : public FWorldPartitionStateRequestDataSimple
{
public:
	TSoftObjectPtr<class UObject>                 Owner;                                             // 0x0068(0x0028)(BlueprintVisible, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FString                                 OwnerName;                                         // 0x0090(0x0010)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TSoftObjectPtr<class UWorldPartitionStateRequestDataAsset> DataAsset;                            // 0x00A0(0x0028)(Edit, BlueprintVisible, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_C8[0x8];                                       // 0x00C8(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FWorldPartitionStateRequestData;

// ScriptStruct LevelStreaming.LevelStreamingSaveData
// 0x0038 (0x0038 - 0x0000)
struct FLevelStreamingSaveData final
{
public:
	TArray<struct FLevelStreamingActorData>       Actors;                                            // 0x0000(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
	TArray<struct FLevelStreamingRuntimeActorData> RuntimeActors;                                    // 0x0010(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
	TArray<struct FWorldPartitionStateRequestData> WorldStateRequests;                               // 0x0020(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
	uint8                                         Pad_30[0x8];                                       // 0x0030(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FLevelStreamingSaveData;

// ScriptStruct LevelStreaming.WorldStateDataLayerSubQuery
// 0x0048 (0x0048 - 0x0000)
struct FWorldStateDataLayerSubQuery final
{
public:
	struct FDataLayerStatus                       DataLayerState;                                    // 0x0000(0x0040)(Edit, BlueprintVisible, BlueprintReadOnly, NativeAccessSpecifierPublic)
	EWorldStateSubQueryType                       Type;                                              // 0x0040(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_41[0x7];                                       // 0x0041(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FWorldStateDataLayerSubQuery;

// ScriptStruct LevelStreaming.DataLayerInstanceStateStack
// 0x0020 (0x0020 - 0x0000)
struct alignas(0x08) FDataLayerInstanceStateStack final
{
public:
	uint8                                         Pad_0[0x20];                                       // 0x0000(0x0020)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FDataLayerInstanceStateStack;

}

