#pragma once

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

// Package: MapSystem

#include "Basic.hpp"

#include "CoreUObject_structs.hpp"
#include "CoreUObject_classes.hpp"
#include "UMG_classes.hpp"
#include "MapSystem_structs.hpp"
#include "Engine_classes.hpp"
#include "DeveloperSettings_classes.hpp"


namespace SDK
{

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

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

// Class MapSystem.CompassMarkerBaseDataProvider
// 0x0038 (0x0060 - 0x0028)
class UCompassMarkerBaseDataProvider : public UObject
{
public:
	TSoftClassPtr<class UClass>                   CompassMarkerWidgetClass;                          // 0x0028(0x0028)(Edit, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	class FText                                   CompassMarkerTitle;                                // 0x0050(0x0010)(Edit, NativeAccessSpecifierPrivate)

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

// Class MapSystem.CompassMarkerDataProvider_Vector
// 0x0018 (0x0078 - 0x0060)
class UCompassMarkerDataProvider_Vector final : public UCompassMarkerBaseDataProvider
{
public:
	struct FVector                                WorldLocationVector;                               // 0x0060(0x0018)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnTemplate, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)

public:
	void SetWorldLocationVector(const struct FVector& InNewWorldLocationVector);

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

// Class MapSystem.CompassMarkerDataProvider_Object
// 0x0018 (0x0078 - 0x0060)
class UCompassMarkerDataProvider_Object final : public UCompassMarkerBaseDataProvider
{
public:
	struct FVector                                WorldLocationVector;                               // 0x0060(0x0018)(Edit, ZeroConstructor, DisableEditOnTemplate, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)

public:
	void SetWorldLocationObject(const TSoftObjectPtr<class AActor>& InWorldLocationObject);

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

// Class MapSystem.BTCompassMarkerWidget
// 0x0020 (0x02F0 - 0x02D0)
class UBTCompassMarkerWidget : public UUserWidget
{
public:
	class UTextBlock*                             DistanceTextBlock;                                 // 0x02D0(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	class UImage*                                 ArrowUpImage;                                      // 0x02D8(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	class UImage*                                 ArrowDownImage;                                    // 0x02E0(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	class UTextBlock*                             TitleTextBlock;                                    // 0x02E8(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)

public:
	void SetArrowDownImageVisibility(bool bInNewIsVisible);
	void SetArrowUpImageVisibility(bool bInNewIsVisible);
	void SetDistanceInCM(int32 InDistanceValue);
	void SetTitleTextBlock(const class FText& InNewTitle);

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

// Class MapSystem.BTCompassWidget
// 0x0050 (0x0320 - 0x02D0)
class UBTCompassWidget : public UUserWidget
{
public:
	bool                                          bUseShowAnimationToHide;                           // 0x02D0(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_2D1[0x7];                                      // 0x02D1(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	class UWidgetAnimation*                       OnShowAnimation;                                   // 0x02D8(0x0008)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Transient, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	class UWidgetAnimation*                       OnHideAnimation;                                   // 0x02E0(0x0008)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Transient, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	class UImage*                                 MainImage;                                         // 0x02E8(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	class UCanvasPanel*                           MarkersContainer;                                  // 0x02F0(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	TScriptInterface<class IBTCompassMainDataProvider> MainDataProvider;                             // 0x02F8(0x0010)(ZeroConstructor, Transient, IsPlainOldData, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	TArray<struct FBTCompassMarkerDataContainer>  MarkersDataProviders;                              // 0x0308(0x0010)(ZeroConstructor, Transient, ContainsInstancedReference, NativeAccessSpecifierPrivate)
	float                                         MainDataProviderCachedRotation;                    // 0x0318(0x0004)(ZeroConstructor, Transient, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_31C[0x4];                                      // 0x031C(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void HideCompass();
	void OnHideAnimationFinished();
	void OnShowAnimationFinished();
	void SetMainDataProvider(TScriptInterface<class IBTCompassMainDataProvider> InNewMainDataProvider);
	void ShowCompass();

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

// Class MapSystem.BTGameplayMapAnchor
// 0x00B0 (0x0378 - 0x02C8)
class ABTGameplayMapAnchor final : public AActor
{
public:
	TSet<EBTMapsEnum>                             Maps;                                              // 0x02C8(0x0050)(Edit, BlueprintVisible, BlueprintReadOnly, DisableEditOnTemplate, NativeAccessSpecifierPublic)
	TSet<EBTMapSection>                           Sections;                                          // 0x0318(0x0050)(Edit, BlueprintVisible, BlueprintReadOnly, DisableEditOnTemplate, NativeAccessSpecifierPublic)
	bool                                          bUseAsMapsSectionAnchor;                           // 0x0368(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnTemplate, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_369[0x7];                                      // 0x0369(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	class UBillboardComponent*                    BillboardComponent;                                // 0x0370(0x0008)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, EditConst, InstancedReference, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)

public:
	struct FVector GetAnchorWorldPosition() const;

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

// Class MapSystem.BTGameplayMapBaseWidget
// 0x0108 (0x03D8 - 0x02D0)
class UBTGameplayMapBaseWidget : public UUserWidget
{
public:
	class UCanvasPanel*                           ObjectsContainer;                                  // 0x02D0(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	class UImage*                                 PlayerPointer;                                     // 0x02D8(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	class UCanvasRenderTarget2D*                  MapRenderTarget;                                   // 0x02E0(0x0008)(Edit, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	class UMaterialInterface*                     MapElementsMaterial;                               // 0x02E8(0x0008)(Edit, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	float                                         Zoom;                                              // 0x02F0(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_2F4[0x4];                                      // 0x02F4(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	struct FVector2D                              Offset;                                            // 0x02F8(0x0010)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	struct FVector2D                              CustomZoomRoot;                                    // 0x0308(0x0010)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	EBTZoomRootSource                             ZoomRootSource;                                    // 0x0318(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_319[0x97];                                     // 0x0319(0x0097)(Fixing Size After Last Property [ Dumper-7 ])
	class UCanvas*                                MapDrawingCanvas;                                  // 0x03B0(0x0008)(ZeroConstructor, Transient, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	class UMaterialInstanceDynamic*               MapSectionMaterial;                                // 0x03B8(0x0008)(ZeroConstructor, Transient, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_3C0[0x18];                                     // 0x03C0(0x0018)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class MapSystem.BTMapLayerCollectionsDataAsset
// 0x0010 (0x0040 - 0x0030)
class UBTMapLayerCollectionsDataAsset final : public UDataAsset
{
public:
	TArray<struct FBTMapsCollectionData>          LayerCollections;                                  // 0x0030(0x0010)(Edit, BlueprintVisible, ZeroConstructor, NativeAccessSpecifierPublic)

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

// Class MapSystem.BTMapSettingsDataAsset
// 0x00C0 (0x00F0 - 0x0030)
class UBTMapSettingsDataAsset final : public UDataAsset
{
public:
	TMap<EBTMapObjectTypeEnum, struct FBTMapObjectSettings> MapObjectsSettingsPerType;               // 0x0030(0x0050)(Edit, BlueprintVisible, BlueprintReadOnly, NativeAccessSpecifierPublic)
	TMap<struct FBTMapObjectStruct, TSoftClassPtr<class UClass>> WidgetPerSpecificObject;            // 0x0080(0x0050)(Edit, BlueprintVisible, BlueprintReadOnly, UObjectWrapper, NativeAccessSpecifierPublic)
	float                                         ZoomSpeed;                                         // 0x00D0(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_D4[0x4];                                       // 0x00D4(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<float>                                 ZoomValues;                                        // 0x00D8(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NativeAccessSpecifierPublic)
	float                                         MapNavigationSpeed;                                // 0x00E8(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_EC[0x4];                                       // 0x00EC(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class MapSystem.BTGameplayMapObjectComponent
// 0x0020 (0x00C0 - 0x00A0)
class UBTGameplayMapObjectComponent : public UActorComponent
{
public:
	bool                                          bOverrideMapToBelong;                              // 0x00A0(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	EBTMapsEnum                                   MapToBelong;                                       // 0x00A1(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	EBTMapSection                                 SectionToBelong;                                   // 0x00A2(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	bool                                          bOverrideObjectType;                               // 0x00A3(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	EBTMapObjectTypeEnum                          MapObjectType;                                     // 0x00A4(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_A5[0x3];                                       // 0x00A5(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	struct FBTMapObjectDataStruct                 GameplayMapObjectConfig;                           // 0x00A8(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, EditConst, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	bool                                          bShouldBeIgnoredOnMap;                             // 0x00B8(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_B9[0x7];                                       // 0x00B9(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static int32 GetMapObjectDiscoveredValue();
	static int32 GetMapObjectHiddenValue();
	static int32 GetMapObjectUndiscoveredValue();

	void SendObjectDataToGameplayMap(const int32 DataValue, bool bInForceToAdd) const;

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

// Class MapSystem.BTGameplayMapDoorComponent
// 0x0008 (0x00C8 - 0x00C0)
class UBTGameplayMapDoorComponent final : public UBTGameplayMapObjectComponent
{
public:
	uint8                                         Pad_C0[0x8];                                       // 0x00C0(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static int32 GetMapDoorObjectBlockedLockedValue();
	static int32 GetMapDoorObjectBlockedOpenedValue();
	static int32 GetMapDoorObjectBoardedUpLockedValue();
	static int32 GetMapDoorObjectBoardedUpOpenedValue();
	static int32 GetMapDoorObjectCardLockedValue();
	static int32 GetMapDoorObjectCardOpenedValue();
	static int32 GetMapDoorObjectChainsLockedValue();
	static int32 GetMapDoorObjectChainsOpenedValue();
	static int32 GetMapDoorObjectHiddenValue();
	static int32 GetMapDoorObjectKeyLockedValue();
	static int32 GetMapDoorObjectKeyOpenedValue();
	static int32 GetMapDoorObjectPinPadLockedValue();
	static int32 GetMapDoorObjectPinPadOpenedValue();
	static int32 GetMapDoorObjectSlidingBoltLockedValue();
	static int32 GetMapDoorObjectSlidingBoltOpenedValue();
	static int32 GetMapDoorObjectUndiscoveredValue();

	void SetDoorType(EBTDoorObjectType InDoorType);

	void SendLockedData(bool bInForceToAdd) const;
	void SendOpenedData(bool bInForceToAdd) const;

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

// Class MapSystem.BTGameplayMapVolume
// 0x0008 (0x0308 - 0x0300)
class ABTGameplayMapVolume final : public AVolume
{
public:
	EBTMapsEnum                                   Map;                                               // 0x0300(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EBTMapSection                                 Section;                                           // 0x0301(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_302[0x6];                                      // 0x0302(0x0006)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class MapSystem.BTMapObjectBaseWidget
// 0x0008 (0x02D8 - 0x02D0)
class UBTMapObjectBaseWidget : public UUserWidget
{
public:
	EBTMapObjectTypeEnum                          DefaultDataObjectType;                             // 0x02D0(0x0001)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EBTMapSection                                 DefaultMapSection;                                 // 0x02D1(0x0001)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EBTMapsEnum                                   MapBelongsTo;                                      // 0x02D2(0x0001)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EBTMapsEnum                                   MapDisplayedFor;                                   // 0x02D3(0x0001)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_2D4[0x4];                                      // 0x02D4(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void UpdateBaseMarker(EBTMapObjectDataValue InDataValue);

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

// Class MapSystem.BTMapDoorWidget
// 0x0000 (0x02D8 - 0x02D8)
class UBTMapDoorWidget : public UBTMapObjectBaseWidget
{
public:
	void UpdateDoorMarker(EBTDoorMapObjectDataValue InDataValue);

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

// Class MapSystem.BTMapSettings
// 0x00B8 (0x00F0 - 0x0038)
class UBTMapSettings final : public UDeveloperSettings
{
public:
	TSoftObjectPtr<class UDataAsset>              CustomLayerCollectionsDataAsset;                   // 0x0038(0x0028)(Edit, BlueprintVisible, BlueprintReadOnly, Config, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	TSoftObjectPtr<class UDataAsset>              MapSettingsDataAsset;                              // 0x0060(0x0028)(Edit, BlueprintVisible, BlueprintReadOnly, Config, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	TSoftObjectPtr<class UDataTable>              MapsDataTable;                                     // 0x0088(0x0028)(Edit, BlueprintVisible, BlueprintReadOnly, Config, DisableEditOnInstance, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	TSoftObjectPtr<class UTexture2D>              SectionsTileSheet;                                 // 0x00B0(0x0028)(Edit, BlueprintVisible, BlueprintReadOnly, Config, DisableEditOnInstance, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	TSubclassOf<class UBTGameplayMapBaseWidget>   MapWidget;                                         // 0x00D8(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Config, DisableEditOnInstance, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	TSubclassOf<class UUserWidget>                NoMapWidget;                                       // 0x00E0(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Config, DisableEditOnInstance, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	float                                         VerticalLevelHeight;                               // 0x00E8(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Config, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_EC[0x4];                                       // 0x00EC(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static void GetMapCollectionData(EBTMapsEnum InMap, int32* OutLayersCollectionIndex, int32* OutLayerIndex);

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

// Class MapSystem.BTMapSubsystem
// 0x0148 (0x0178 - 0x0030)
class UBTMapSubsystem final : public UGameInstanceSubsystem
{
public:
	uint8                                         Pad_30[0x30];                                      // 0x0030(0x0030)(Fixing Size After Last Property [ Dumper-7 ])
	TMulticastInlineDelegate<void()>              OnCompassShowRequest;                              // 0x0060(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void()>              OnCompassHideRequest;                              // 0x0070(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMap<class FName, struct FBTCompassMarkerData> CompassMarkerObjects;                             // 0x0080(0x0050)(SaveGame, Protected, NativeAccessSpecifierProtected)
	TArray<TWeakObjectPtr<class ABTGameplayMapVolume>> MapsVolumes;                                  // 0x00D0(0x0010)(ZeroConstructor, Transient, Protected, UObjectWrapper, NativeAccessSpecifierProtected)
	TArray<uint16>                                MapsProgressData;                                  // 0x00E0(0x0010)(ZeroConstructor, SaveGame, Protected, NativeAccessSpecifierProtected)
	TMap<EBTMapsEnum, struct FSHMapObjectsStruct> MapsObjectsData;                                   // 0x00F0(0x0050)(SaveGame, Protected, NativeAccessSpecifierProtected)
	uint8                                         Pad_140[0x38];                                     // 0x0140(0x0038)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UBTMapSubsystem* Get(const class UObject* InWorldContextObject);

	void AddOrUpdateObjectData(const struct FBTMapObjectDataStruct& MapObjectData, bool bInAllowUpdateOnly);
	void OnMapVolumeOverlapped(class AActor* InOverlappedActor, class AActor* InOtherActor);
	class FName RegisterCompassMarker(class UCompassMarkerBaseDataProvider* InMarkerDataProvider, class FName InMarkerLabel);
	void RegisterMapItem(EBTMapsEnum InItem);
	void RegisterMapSection(EBTMapsEnum InItem, EBTMapSection InSection);
	void UnregisterAllCompassMarkers();
	void UnregisterCompassMarker(class FName InMarkerLabel);
	void UnregisterMapItem(EBTMapsEnum InItem);
	void UnregisterMapSection(EBTMapsEnum InItem, EBTMapSection InSection);

	bool IsMapAvailable(EBTMapsEnum InItem) const;
	bool IsMapSectionAvailable(EBTMapsEnum InItem, EBTMapSection InSection) const;

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

}

