#pragma once

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

// Package: DonAINavigation

#include "Basic.hpp"

#include "CoreUObject_structs.hpp"


namespace SDK
{

// Enum DonAINavigation.EDonNavigationQueryStatus
// NumValues: 0x0007
enum class EDonNavigationQueryStatus : uint8
{
	Unscheduled                              = 0,
	InProgress                               = 1,
	Success                                  = 2,
	Failure                                  = 3,
	QueryHasNoSolution                       = 4,
	TimedOut                                 = 5,
	EDonNavigationQueryStatus_MAX            = 6,
};

// ScriptStruct DonAINavigation.DonNavigationVoxel
// 0x0040 (0x0040 - 0x0000)
struct alignas(0x08) FDonNavigationVoxel final
{
public:
	uint8                                         Pad_0[0x40];                                       // 0x0000(0x0040)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FDonNavigationVoxel;

// ScriptStruct DonAINavigation.DonNavVoxelY
// 0x0010 (0x0010 - 0x0000)
struct FDonNavVoxelY final
{
public:
	TArray<struct FDonNavigationVoxel>            Z;                                                 // 0x0000(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FDonNavVoxelY;

// ScriptStruct DonAINavigation.DonNavVoxelX
// 0x0010 (0x0010 - 0x0000)
struct FDonNavVoxelX final
{
public:
	TArray<struct FDonNavVoxelY>                  Y;                                                 // 0x0000(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FDonNavVoxelX;

// ScriptStruct DonAINavigation.DonNavigationDynamicCollisionPayload
// 0x0048 (0x0048 - 0x0000)
struct alignas(0x08) FDonNavigationDynamicCollisionPayload final
{
public:
	TWeakObjectPtr<class AActor>                  OwnerPayload;                                      // 0x0000(0x0008)(BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_8[0x40];                                       // 0x0008(0x0040)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FDonNavigationDynamicCollisionPayload;

// ScriptStruct DonAINavigation.DoNNavigationQueryParams
// 0x0020 (0x0020 - 0x0000)
struct FDoNNavigationQueryParams final
{
public:
	float                                         QueryTimeout;                                      // 0x0000(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bFlexibleOriginGoal;                               // 0x0004(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bSkipOptimizationPass;                             // 0x0005(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_6[0x2];                                        // 0x0006(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
	int32                                         MaxOptimizerSweepAttemptsPerNode;                  // 0x0008(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bPreciseDynamicCollisionRepathing;                 // 0x000C(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bIgnoreDynamicCollisionRepathingForDirectGoals;    // 0x000D(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_E[0x2];                                        // 0x000E(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         CollisionShapeInflation;                           // 0x0010(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bForceRescheduleQuery;                             // 0x0014(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_15[0x3];                                       // 0x0015(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	TWeakObjectPtr<class AActor>                  OwnerPayload;                                      // 0x0018(0x0008)(BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FDoNNavigationQueryParams;

// ScriptStruct DonAINavigation.DoNNavigationQueryData
// 0x02B8 (0x02B8 - 0x0000)
struct FDoNNavigationQueryData final
{
public:
	TWeakObjectPtr<class AActor>                  Actor;                                             // 0x0000(0x0008)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TWeakObjectPtr<class UPrimitiveComponent>     CollisionComponent;                                // 0x0008(0x0008)(ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                Origin;                                            // 0x0010(0x0018)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                Destination;                                       // 0x0028(0x0018)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FDoNNavigationQueryParams              QueryParams;                                       // 0x0040(0x0020)(BlueprintVisible, BlueprintReadOnly, NoDestructor, NativeAccessSpecifierPublic)
	uint8                                         Pad_60[0x240];                                     // 0x0060(0x0240)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<struct FVector>                        PathSolutionOptimized;                             // 0x02A0(0x0010)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NativeAccessSpecifierPublic)
	EDonNavigationQueryStatus                     QueryStatus;                                       // 0x02B0(0x0001)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_2B1[0x7];                                      // 0x02B1(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FDoNNavigationQueryData;

// ScriptStruct DonAINavigation.DonNavigationPathFindingResult
// 0x0018 (0x0018 - 0x0000)
struct FDonNavigationPathFindingResult final
{
public:
	float                                         PathCost;                                          // 0x0000(0x0004)(BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         PathLength;                                        // 0x0004(0x0004)(BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TArray<struct FVector>                        PathPoints;                                        // 0x0008(0x0010)(BlueprintVisible, ZeroConstructor, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FDonNavigationPathFindingResult;

// ScriptStruct DonAINavigation.DonVoxelCollisionProfile
// 0x0020 (0x0020 - 0x0000)
struct alignas(0x08) FDonVoxelCollisionProfile final
{
public:
	uint8                                         Pad_0[0x20];                                       // 0x0000(0x0020)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FDonVoxelCollisionProfile;

// ScriptStruct DonAINavigation.DonNavigationDynamicCollisionNotifyee
// 0x0058 (0x0058 - 0x0000)
struct alignas(0x08) FDonNavigationDynamicCollisionNotifyee final
{
public:
	TDelegate<void(const struct FDonNavigationDynamicCollisionPayload& Data)> Listener;              // 0x0000(0x0010)(ZeroConstructor, InstancedReference, NoDestructor, NativeAccessSpecifierPublic)
	uint8                                         Pad_10[0x48];                                      // 0x0010(0x0048)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FDonNavigationDynamicCollisionNotifyee;

// ScriptStruct DonAINavigation.DonNavVoxelXYZ
// 0x0010 (0x0010 - 0x0000)
struct FDonNavVoxelXYZ final
{
public:
	TArray<struct FDonNavVoxelX>                  X;                                                 // 0x0000(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FDonNavVoxelXYZ;

// ScriptStruct DonAINavigation.DoNNavigationDebugParams
// 0x000C (0x000C - 0x0000)
struct FDoNNavigationDebugParams final
{
public:
	bool                                          DrawDebugVolumes;                                  // 0x0000(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          VisualizeRawPath;                                  // 0x0001(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          VisualizeOptimizedPath;                            // 0x0002(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          VisualizeInRealTime;                               // 0x0003(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         LineThickness;                                     // 0x0004(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         LineDuration;                                      // 0x0008(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FDoNNavigationDebugParams;

// ScriptStruct DonAINavigation.DonNavigationTask
// 0x0008 (0x0008 - 0x0000)
struct alignas(0x08) FDonNavigationTask
{
public:
	uint8                                         Pad_0[0x8];                                        // 0x0000(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FDonNavigationTask;

// ScriptStruct DonAINavigation.DonNavigationQueryTask
// 0x02E0 (0x02E8 - 0x0008)
struct FDonNavigationQueryTask final : public FDonNavigationTask
{
public:
	uint8                                         Pad_8[0x2C0];                                      // 0x0008(0x02C0)(Fixing Size After Last Property [ Dumper-7 ])
	TDelegate<void(const struct FDoNNavigationQueryData& Data)> ResultHandler;                       // 0x02C8(0x0010)(ZeroConstructor, InstancedReference, NoDestructor, NativeAccessSpecifierPublic)
	TDelegate<void(const struct FDonNavigationDynamicCollisionPayload& Data)> DynamicCollisionListener; // 0x02D8(0x0010)(ZeroConstructor, InstancedReference, NoDestructor, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FDonNavigationQueryTask;

// ScriptStruct DonAINavigation.DonNavigationDynamicCollisionTask
// 0x0160 (0x0168 - 0x0008)
struct FDonNavigationDynamicCollisionTask final : public FDonNavigationTask
{
public:
	uint8                                         Pad_8[0x160];                                      // 0x0008(0x0160)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FDonNavigationDynamicCollisionTask;

}

