#pragma once

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

// Package: MapSystem

#include "Basic.hpp"

#include "CoreUObject_structs.hpp"
#include "Engine_structs.hpp"
#include "UCA_structs.hpp"


namespace SDK
{

// Enum MapSystem.EBTMapObjectTypeEnum
// NumValues: 0x000C
enum class EBTMapObjectTypeEnum : uint8
{
	None                                     = 0,
	Objective                                = 1,
	Puzzle                                   = 2,
	Door                                     = 3,
	Collectable                              = 4,
	Obstacle                                 = 5,
	SavePoint                                = 6,
	Anomaly                                  = 7,
	Stairs                                   = 8,
	UpgradeStation                           = 9,
	Stash                                    = 10,
	MAX                                      = 11,
};

// Enum MapSystem.EBTMapSection
// NumValues: 0x0011
enum class EBTMapSection : uint8
{
	None                                     = 0,
	Section1                                 = 1,
	Section2                                 = 2,
	Section3                                 = 3,
	Section4                                 = 4,
	Section5                                 = 5,
	Section6                                 = 6,
	Section7                                 = 7,
	Section8                                 = 8,
	Section9                                 = 9,
	Section10                                = 10,
	Section11                                = 11,
	Section12                                = 12,
	Section13                                = 13,
	Section14                                = 14,
	Section15                                = 15,
	MAX                                      = 16,
};

// Enum MapSystem.EBTMapsEnum
// NumValues: 0x004B
enum class EBTMapsEnum : uint8
{
	None                                     = 0,
	MapTestLevel0F                           = 1,
	MapTestLevel1F                           = 2,
	LandingZoneExterior                      = 3,
	LandingZoneInterior1F                    = 4,
	LandingZoneInterior2F                    = 5,
	AZ_Past_Building34_F0                    = 6,
	AZ_Past_Building34_F1                    = 7,
	AZ_Past_Building34_F2                    = 8,
	AZ_Past_Building34_F3                    = 9,
	AZ_Past_Building34_F4                    = 10,
	AZ_Past_Building34_F5                    = 11,
	AZ_Past_Shelter                          = 12,
	AZ_Past_ApartmentZone                    = 13,
	AZ_Past_Basement                         = 14,
	CCZ_RoadAbbey_Exterior_F0                = 15,
	CCZ_RoadAbbey_Exterior_F1                = 16,
	CCZ_RoadAbbey_Building_F0                = 17,
	CCZ_RoadAbbey_Building_F1                = 18,
	CCZ_AbbeyGrounds_Exterior_F0             = 19,
	CCZ_AbbeyGrounds_Interior_F0             = 20,
	CCZ_AbbeyGrounds_Interior_F1             = 21,
	CCZ_Catacombs_F0                         = 22,
	CCZ_Catacombs_F1                         = 23,
	City_MainCentral                         = 24,
	City_Streets                             = 25,
	City_DestroyedBuilding_Pt1               = 26,
	City_DestroyedBuilding_Pt2               = 27,
	City_ApartmentZone                       = 28,
	City_Building34_F0                       = 29,
	City_Building34_F1                       = 30,
	City_Building34_F2                       = 31,
	City_Building34_F3                       = 32,
	City_Building34_F4                       = 33,
	City_Building34_F5                       = 34,
	City_Shelter                             = 35,
	FZ_Tram_Station                          = 36,
	FZ_Sintering_Floor_F0                    = 37,
	FZ_Sintering_Floor_F1                    = 38,
	FZ_Sintering_Floor_F2                    = 39,
	FZ_Sintering_Floor_F3                    = 40,
	FZ_Raw_Materials_F0                      = 41,
	FZ_Raw_Materials_F1                      = 42,
	FZ_Raw_Materials_F2                      = 43,
	FZ_Raw_Materials_F3                      = 44,
	FZ_Past_Basement_F0                      = 45,
	FZ_Past_Basement_F1                      = 46,
	FZ_Past_CokeProduction_F1                = 47,
	FZ_Past_CokeProduction_F2                = 48,
	FZ_Past_Offices                          = 49,
	HZ_Islands                               = 50,
	HZ_Anomaly                               = 51,
	HZ_Hospital_UG                           = 52,
	HZ_Hospital_F0                           = 53,
	HZ_Hospital_F1                           = 54,
	HZ_HiddenFacility                        = 55,
	SSZ_StationB_F0                          = 56,
	SSZ_StationB_F1                          = 57,
	SSZ_StationB_F2                          = 58,
	THZ_Attic                                = 59,
	THZ_Apartment_F0                         = 60,
	THZ_Apartment_F1                         = 61,
	THZ_Clocktower_F0                        = 62,
	THZ_Clocktower_F1                        = 63,
	THZ_Hall_F0                              = 64,
	THZ_Hall_F1                              = 65,
	THZ_Hall_F2                              = 66,
	THZ_Hall_F3                              = 67,
	THZ_LevitatingPlatform                   = 68,
	THZ_Staircase_F0                         = 69,
	THZ_Staircase_F1                         = 70,
	THZ_Staircase_F2                         = 71,
	THZ_Staircase_F3                         = 72,
	THZ_UtilityCorridor                      = 73,
	MAX                                      = 74,
};

// Enum MapSystem.EBTZoomRootSource
// NumValues: 0x0004
enum class EBTZoomRootSource : uint8
{
	None                                     = 0,
	Center                                   = 1,
	Custom                                   = 2,
	MAX                                      = 3,
};

// Enum MapSystem.EBTMapObjectDataValue
// NumValues: 0x0005
enum class EBTMapObjectDataValue : uint8
{
	None                                     = 0,
	Hidden                                   = 1,
	Visible_Undiscovered                     = 2,
	Visible_Discovered                       = 3,
	MAX                                      = 4,
};

// Enum MapSystem.EBTDoorMapObjectDataValue
// NumValues: 0x0012
enum class EBTDoorMapObjectDataValue : uint8
{
	None                                     = 0,
	Hidden                                   = 1,
	Visible_Undiscovered                     = 2,
	Visible_Opened_Key                       = 3,
	Visible_Locked_Key                       = 4,
	Visible_Opened_SlidingBolt               = 5,
	Visible_Locked_SlidingBolt               = 6,
	Visible_Opened_PinPad                    = 7,
	Visible_Locked_PinPad                    = 8,
	Visible_Opened_Card                      = 9,
	Visible_Locked_Card                      = 10,
	Visible_Opened_Chains                    = 11,
	Visible_Locked_Chains                    = 12,
	Visible_Opened_BoardedUp                 = 13,
	Visible_Locked_BoardedUp                 = 14,
	Visible_Opened_Blocked                   = 15,
	Visible_Locked_Blocked                   = 16,
	MAX                                      = 17,
};

// Enum MapSystem.EBTDoorObjectType
// NumValues: 0x0009
enum class EBTDoorObjectType : uint8
{
	None                                     = 0,
	Key                                      = 1,
	SlidingBolt                              = 2,
	PinPad                                   = 3,
	Card                                     = 4,
	Chains                                   = 5,
	BoardedUp                                = 6,
	Blocked                                  = 7,
	MAX                                      = 8,
};

// Enum MapSystem.EBTMapVisibilityState
// NumValues: 0x0005
enum class EBTMapVisibilityState : uint8
{
	None                                     = 0,
	FullVisible                              = 1,
	GrayedOut                                = 2,
	Invisible                                = 3,
	MAX                                      = 4,
};

// ScriptStruct MapSystem.BTMapObjectStruct
// 0x000C (0x000C - 0x0000)
struct FBTMapObjectStruct
{
public:
	class FName                                   ObjectID;                                          // 0x0000(0x0008)(Edit, BlueprintVisible, ZeroConstructor, SaveGame, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EBTMapsEnum                                   Map;                                               // 0x0008(0x0001)(Edit, BlueprintVisible, ZeroConstructor, SaveGame, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EBTMapSection                                 Section;                                           // 0x0009(0x0001)(Edit, BlueprintVisible, ZeroConstructor, SaveGame, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EBTMapObjectTypeEnum                          Type;                                              // 0x000A(0x0001)(Edit, BlueprintVisible, ZeroConstructor, SaveGame, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_B[0x1];                                        // 0x000B(0x0001)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FBTMapObjectStruct;

// ScriptStruct MapSystem.BTMapObjectBakedData
// 0x00C0 (0x00C0 - 0x0000)
struct FBTMapObjectBakedData final
{
public:
	TSoftClassPtr<class UClass>                   ObjectClass;                                       // 0x0000(0x0028)(Edit, BlueprintVisible, BlueprintReadOnly, EditConst, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector2D                              Size;                                              // 0x0028(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector2D                              position;                                          // 0x0038(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector2D                              Alignment;                                         // 0x0048(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FName                                   MapObjectID;                                       // 0x0058(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EBTMapObjectTypeEnum                          Type;                                              // 0x0060(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bIsAutosize;                                       // 0x0061(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_62[0x6];                                       // 0x0062(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
	struct FVector2D                              AnchorsMinimum;                                    // 0x0068(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	struct FVector2D                              AnchorsMaximum;                                    // 0x0078(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	struct FVector2D                              RenderTranslation;                                 // 0x0088(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	struct FVector2D                              RenderScale;                                       // 0x0098(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	struct FVector2D                              RenderShear;                                       // 0x00A8(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	float                                         RenderAngle;                                       // 0x00B8(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_BC[0x4];                                       // 0x00BC(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FBTMapObjectBakedData;

// ScriptStruct MapSystem.BTMapObjectDataStruct
// 0x0004 (0x0010 - 0x000C)
struct FBTMapObjectDataStruct final : public FBTMapObjectStruct
{
public:
	int32                                         Value;                                             // 0x000C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, SaveGame, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FBTMapObjectDataStruct;

// ScriptStruct MapSystem.SHMapObjectsStruct
// 0x0010 (0x0010 - 0x0000)
struct FSHMapObjectsStruct final
{
public:
	TArray<struct FBTMapObjectDataStruct>         Objects;                                           // 0x0000(0x0010)(ZeroConstructor, SaveGame, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FSHMapObjectsStruct;

// ScriptStruct MapSystem.BTCompassMarkerData
// 0x0050 (0x0050 - 0x0000)
struct FBTCompassMarkerData final
{
public:
	struct FVector                                WorldLocation;                                     // 0x0000(0x0018)(ZeroConstructor, SaveGame, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TSoftClassPtr<class UClass>                   WidgetClass;                                       // 0x0018(0x0028)(SaveGame, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FText                                   Title;                                             // 0x0040(0x0010)(SaveGame, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FBTCompassMarkerData;

// ScriptStruct MapSystem.BTCompassMarkerDataContainer
// 0x0028 (0x0028 - 0x0000)
struct FBTCompassMarkerDataContainer final
{
public:
	class FName                                   Label;                                             // 0x0000(0x0008)(ZeroConstructor, Transient, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                WorldLocation;                                     // 0x0008(0x0018)(ZeroConstructor, Transient, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TWeakObjectPtr<class UBTCompassMarkerWidget>  Widget;                                            // 0x0020(0x0008)(ExportObject, ZeroConstructor, Transient, InstancedReference, IsPlainOldData, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FBTCompassMarkerDataContainer;

// ScriptStruct MapSystem.BTMapInCollectionSettings
// 0x000C (0x000C - 0x0000)
struct FBTMapInCollectionSettings final
{
public:
	EBTMapsEnum                                   Map;                                               // 0x0000(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EBTMapVisibilityState                         VisibilityWhileUnderSelectedMap;                   // 0x0001(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EBTMapVisibilityState                         VisibilityWhileOnTopOfSelectedMap;                 // 0x0002(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_3[0x1];                                        // 0x0003(0x0001)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         OpacityUnderSelectedMap;                           // 0x0004(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         OpacityOnTopOfSelectedMap;                         // 0x0008(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FBTMapInCollectionSettings;

// ScriptStruct MapSystem.BTMapsCollectionData
// 0x0028 (0x0028 - 0x0000)
struct FBTMapsCollectionData final
{
public:
	class FText                                   CollectionName;                                    // 0x0000(0x0010)(Edit, BlueprintVisible, NativeAccessSpecifierPublic)
	TArray<struct FBTMapInCollectionSettings>     Maps;                                              // 0x0010(0x0010)(Edit, BlueprintVisible, ZeroConstructor, NativeAccessSpecifierPublic)
	struct FActivityZoneHandle                    CollectionZoneHandle;                              // 0x0020(0x0008)(Edit, BlueprintVisible, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FBTMapsCollectionData;

// ScriptStruct MapSystem.BTMapSectionData
// 0x0088 (0x0088 - 0x0000)
struct FBTMapSectionData final
{
public:
	EBTMapSection                                 Section;                                           // 0x0000(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_1[0x7];                                        // 0x0001(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	struct FVector2D                              TilePosition;                                      // 0x0008(0x0010)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector2D                              TileSize;                                          // 0x0018(0x0010)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector2D                              AnchorAPosition;                                   // 0x0028(0x0010)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector2D                              AnchorBPosition;                                   // 0x0038(0x0010)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                AnchorAWorldLocation;                              // 0x0048(0x0018)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                AnchorBWorldLocation;                              // 0x0060(0x0018)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TArray<struct FBTMapObjectBakedData>          MapObjectsBakedData;                               // 0x0078(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FBTMapSectionData;

// ScriptStruct MapSystem.BTItemMapDataStruct
// 0x0090 (0x0098 - 0x0008)
struct FBTItemMapDataStruct final : public FTableRowBase
{
public:
	EBTMapsEnum                                   AssignedMap;                                       // 0x0008(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_9[0x7];                                        // 0x0009(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	class FText                                   MapName;                                           // 0x0010(0x0010)(Edit, BlueprintVisible, NativeAccessSpecifierPublic)
	TSoftObjectPtr<class UTexture2D>              SectionsTileSheet;                                 // 0x0020(0x0028)(Edit, BlueprintVisible, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                TopLeftCornerWorldLocation;                        // 0x0048(0x0018)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                BottomRightCornerWorldLocation;                    // 0x0060(0x0018)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TArray<struct FBTMapSectionData>              SectionsData;                                      // 0x0078(0x0010)(Edit, BlueprintVisible, ZeroConstructor, NativeAccessSpecifierPublic)
	int32                                         Priority;                                          // 0x0088(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         TextureCaptureVerticalOffset;                      // 0x008C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FActivityZoneHandle                    SpecificZoneHandle;                                // 0x0090(0x0008)(Edit, BlueprintVisible, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FBTItemMapDataStruct;

// ScriptStruct MapSystem.BTMapObjectSettings
// 0x0040 (0x0040 - 0x0000)
struct FBTMapObjectSettings final
{
public:
	TArray<TSoftClassPtr<class UClass>>           TypesLookupTable;                                  // 0x0000(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, UObjectWrapper, NativeAccessSpecifierPublic)
	TSoftClassPtr<class UClass>                   WidgetToUse;                                       // 0x0010(0x0028)(Edit, BlueprintVisible, BlueprintReadOnly, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EBTMapObjectDataValue                         DefaultDataValue;                                  // 0x0038(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bIgnoreLayerOwnership;                             // 0x0039(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bIgnoreMapAvailability;                            // 0x003A(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bIgnoreSectionAvailability;                        // 0x003B(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_3C[0x4];                                       // 0x003C(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FBTMapObjectSettings;

}

