#pragma once

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

// Package: BP_GenerateMapManager

#include "Basic.hpp"

#include "ST_PriorityGenerateComonents_structs.hpp"
#include "Engine_structs.hpp"
#include "Engine_classes.hpp"
#include "CoreUObject_structs.hpp"
#include "ST_GenerateBoxLocation_structs.hpp"


SDK_NAMESPACE_START

// BlueprintGeneratedClass BP_GenerateMapManager.BP_GenerateMapManager_C
// 0x0198 (0x0440 - 0x02A8)
class ABP_GenerateMapManager_C final : public AActor
{
public:
	struct FPointerToUberGraphFrame               UberGraphFrame;                                    // 0x02A8(0x0008)(ZeroConstructor, Transient, DuplicateTransient)
	class UBoxComponent*                          SpawnArea;                                         // 0x02B0(0x0008)(BlueprintVisible, ZeroConstructor, InstancedReference, NonTransactional, NoDestructor, HasGetValueTypeHash)
	class USceneComponent*                        DefaultSceneRoot;                                  // 0x02B8(0x0008)(BlueprintVisible, ZeroConstructor, InstancedReference, NonTransactional, NoDestructor, HasGetValueTypeHash)
	struct FRandomStream                          RandomSeed;                                        // 0x02C0(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, NoDestructor)
	struct FVector                                Half_Size;                                         // 0x02C8(0x0018)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	double                                        GridSize;                                          // 0x02E0(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	int32                                         TileX;                                             // 0x02E8(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	int32                                         TileY;                                             // 0x02EC(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	class UDataTable*                             SpawnDatas;                                        // 0x02F0(0x0008)(Edit, BlueprintVisible, ZeroConstructor, NoDestructor, HasGetValueTypeHash)
	TMap<class UClass*, double>                   SpawnClassData;                                    // 0x02F8(0x0050)(Edit, BlueprintVisible, DisableEditOnInstance)
	class UBP_GenerateDataAsset_C*                GenerateData;                                      // 0x0348(0x0008)(Edit, BlueprintVisible, Net, ZeroConstructor, NoDestructor, ExposeOnSpawn, HasGetValueTypeHash)
	int32                                         MaxSpawnPerY;                                      // 0x0350(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	int32                                         MaxSpawnPerX;                                      // 0x0354(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	int32                                         MaxLinkPoint;                                      // 0x0358(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	uint8                                         Pad_35C[0x4];                                      // 0x035C(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<struct FVector2D>                      GeneratedPoints;                                   // 0x0360(0x0010)(Edit, BlueprintVisible, DisableEditOnInstance)
	TArray<struct FVector2D>                      GeneratedPointsLastZone;                           // 0x0370(0x0010)(Edit, BlueprintVisible, DisableEditOnInstance)
	TMap<int32, struct FST_PriorityGenerateComonents> LineTraceComponents;                           // 0x0380(0x0050)(Edit, BlueprintVisible, ContainsInstancedReference)
	bool                                          InverseX;                                          // 0x03D0(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	uint8                                         Pad_3D1[0x7];                                      // 0x03D1(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	double                                        DebugDrawHeight;                                   // 0x03D8(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	TArray<class AActor*>                         SpawnedActors;                                     // 0x03E0(0x0010)(Edit, BlueprintVisible, DisableEditOnTemplate, DisableEditOnInstance)
	struct FRandomStream                          InitializeSeed;                                    // 0x03F0(0x0008)(Edit, BlueprintVisible, Net, ZeroConstructor, NoDestructor, ExposeOnSpawn)
	int32                                         GoalPointCount;                                    // 0x03F8(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, ExposeOnSpawn, HasGetValueTypeHash)
	int32                                         GenerateHouseNum;                                  // 0x03FC(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, ExposeOnSpawn, HasGetValueTypeHash)
	int32                                         GenerateTreeNum;                                   // 0x0400(0x0004)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	int32                                         GenerateBushNum;                                   // 0x0404(0x0004)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	int32                                         GenerateMiniTreeNum;                               // 0x0408(0x0004)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	int32                                         GenerateXmasMiniTreeNum;                           // 0x040C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	TArray<struct FST_GenerateBoxLocation>        AddGenerateBox_Wall;                               // 0x0410(0x0010)(Edit, BlueprintVisible, ExposeOnSpawn)
	TArray<struct FST_GenerateBoxLocation>        AddGenerateBox;                                    // 0x0420(0x0010)(Edit, BlueprintVisible, ExposeOnSpawn)
	TArray<struct FST_GenerateBoxLocation>        AddGenerateBox_Wall_Local;                         // 0x0430(0x0010)(Edit, BlueprintVisible, Net, ExposeOnSpawn)

public:
	void EnableSpawnArray(int32 TileCount, int32 Count, struct FRandomStream& Seed, TArray<int32>* ReturnArray);
	void ExecuteUbergraph_BP_GenerateMapManager(int32 EntryPoint);
	void GenerateBell(class UClass* SpawnTargetClass, const struct FRandomStream& Seed);
	void GenerateBoxLocation(int32 SpawnNum, class UClass* SpawnTargetClass, const struct FVector& TraceBoundSize, double FloorCheckDistance, int32 MaxGenerateCharange, bool IsInfinity, const struct FVector2D& ScaleRange, const struct FRandomStream& Seed);
	void GenerateBoxLocation_Wall(int32 SpawnNum, class UClass* SpawnTargetClass, const struct FVector& TraceBoundSize, double FloorCheckDistance, int32 MaxGenerateCharange, bool IsInfinity, const struct FVector2D& ScaleRange, const struct FVector2D& HeightRange, const struct FRandomStream& Seed);
	void GenerateHouse();
	void GetClass(class UClass** Class_0);
	void GetGenerateRandomBoxDatas(struct FTransform* SpawnerTransform, struct FVector* HarfSize, struct FRotator* Rotation);
	void GetSpawnTransformAndRadius(struct FTransform* Transform, double* Radius);
	void NewGetClass(class UClass** Class_0);
	void ReceiveBeginPlay();
	void ReceiveDestroyed();
	void RegisterPriorityGenerateComponet(int32 Key, class ULBPC_PriorityGenerateControl_C* Value);
	void ResetGoalPoint();
	void UserConstructionScript();

public:
	static class UClass* StaticClass()
	{
		BP_STATIC_CLASS_IMPL("BP_GenerateMapManager_C")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"BP_GenerateMapManager_C")
	}
	static class ABP_GenerateMapManager_C* GetDefaultObj()
	{
		return GetDefaultObjImpl<ABP_GenerateMapManager_C>();
	}
};
DUMPER7_ASSERTS_ABP_GenerateMapManager_C;

SDK_NAMESPACE_END
