#pragma once

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

// Package: GameplayDebugger

#include "Basic.hpp"

#include "CoreUObject_structs.hpp"
#include "InputCore_structs.hpp"


SDK_NAMESPACE_START

// Enum GameplayDebugger.EGameplayDebuggerOverrideMode
// NumValues: 0x0004
enum class EGameplayDebuggerOverrideMode : uint8
{
	Enable                                   = 0,
	Disable                                  = 1,
	UseDefault                               = 2,
	EGameplayDebuggerOverrideMode_MAX        = 3,
};

// Enum GameplayDebugger.EGameplayDebuggerShape
// NumValues: 0x000D
enum class EGameplayDebuggerShape : uint8
{
	Invalid                                  = 0,
	Point                                    = 1,
	Segment                                  = 2,
	Box                                      = 3,
	Cone                                     = 4,
	Cylinder                                 = 5,
	Circle                                   = 6,
	Rectangle                                = 7,
	Capsule                                  = 8,
	Polygon                                  = 9,
	Polyline                                 = 10,
	Arrow                                    = 11,
	EGameplayDebuggerShape_MAX               = 12,
};

// ScriptStruct GameplayDebugger.GameplayDebuggerDataPackHeader
// 0x0010 (0x0010 - 0x0000)
struct FGameplayDebuggerDataPackHeader final
{
public:
	int16                                         DataVersion;                                       // 0x0000(0x0002)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int16                                         SyncCounter;                                       // 0x0002(0x0002)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         DataSize;                                          // 0x0004(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         DataOffset;                                        // 0x0008(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         bIsCompressed : 1;                                 // 0x000C(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         Pad_D[0x3];                                        // 0x000D(0x0003)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FGameplayDebuggerDataPackHeader;

// ScriptStruct GameplayDebugger.GameplayDebuggerDataPackRPCParams
// 0x0030 (0x0030 - 0x0000)
struct FGameplayDebuggerDataPackRPCParams final
{
public:
	class FName                                   CategoryName;                                      // 0x0000(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         DataPackIdx;                                       // 0x0008(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FGameplayDebuggerDataPackHeader        Header;                                            // 0x000C(0x0010)(NoDestructor, NativeAccessSpecifierPublic)
	uint8                                         Pad_1C[0x4];                                       // 0x001C(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<uint8>                                 Data;                                              // 0x0020(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FGameplayDebuggerDataPackRPCParams;

// ScriptStruct GameplayDebugger.GameplayDebuggerShape
// 0x0028 (0x0028 - 0x0000)
struct FGameplayDebuggerShape final
{
public:
	TArray<struct FVector>                        ShapeData;                                         // 0x0000(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
	class FString                                 Description;                                       // 0x0010(0x0010)(ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FColor                                 Color;                                             // 0x0020(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EGameplayDebuggerShape                        Type;                                              // 0x0024(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_25[0x3];                                       // 0x0025(0x0003)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FGameplayDebuggerShape;

// ScriptStruct GameplayDebugger.GameplayDebuggerCategoryData
// 0x0040 (0x0040 - 0x0000)
struct FGameplayDebuggerCategoryData final
{
public:
	class FName                                   CategoryName;                                      // 0x0000(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TArray<class FString>                         TextLines;                                         // 0x0008(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
	TArray<struct FGameplayDebuggerShape>         Shapes;                                            // 0x0018(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
	TArray<struct FGameplayDebuggerDataPackHeader> DataPacks;                                        // 0x0028(0x0010)(ZeroConstructor, RepSkip, NativeAccessSpecifierPublic)
	bool                                          bIsEnabled;                                        // 0x0038(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_39[0x7];                                       // 0x0039(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FGameplayDebuggerCategoryData;

// ScriptStruct GameplayDebugger.GameplayDebuggerNetPack
// 0x0018 (0x0018 - 0x0000)
struct FGameplayDebuggerNetPack final
{
public:
	class AGameplayDebuggerCategoryReplicator*    Owner;                                             // 0x0000(0x0008)(ZeroConstructor, RepSkip, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	TArray<struct FGameplayDebuggerCategoryData>  SavedData;                                         // 0x0008(0x0010)(ZeroConstructor, NativeAccessSpecifierPrivate)
};
DUMPER7_ASSERTS_FGameplayDebuggerNetPack;

// ScriptStruct GameplayDebugger.GameplayDebuggerDebugActor
// 0x0014 (0x0014 - 0x0000)
struct FGameplayDebuggerDebugActor final
{
public:
	TWeakObjectPtr<class AActor>                  Actor;                                             // 0x0000(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FName                                   ActorName;                                         // 0x0008(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int16                                         SyncCounter;                                       // 0x0010(0x0002)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_12[0x2];                                       // 0x0012(0x0002)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FGameplayDebuggerDebugActor;

// ScriptStruct GameplayDebugger.GameplayDebuggerVisLogSync
// 0x0010 (0x0010 - 0x0000)
struct FGameplayDebuggerVisLogSync final
{
public:
	class FString                                 DeviceIDs;                                         // 0x0000(0x0010)(ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FGameplayDebuggerVisLogSync;

// ScriptStruct GameplayDebugger.GameplayDebuggerInputConfig
// 0x0030 (0x0030 - 0x0000)
struct FGameplayDebuggerInputConfig final
{
public:
	class FString                                 ConfigName;                                        // 0x0000(0x0010)(Edit, ZeroConstructor, EditConst, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FKey                                   Key;                                               // 0x0010(0x0018)(Edit, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         bModShift : 1;                                     // 0x0028(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         bModCtrl : 1;                                      // 0x0028(0x0001)(BitIndex: 0x01, PropSize: 0x0001 (Edit, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         bModAlt : 1;                                       // 0x0028(0x0001)(BitIndex: 0x02, PropSize: 0x0001 (Edit, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         bModCmd : 1;                                       // 0x0028(0x0001)(BitIndex: 0x03, PropSize: 0x0001 (Edit, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         Pad_29[0x7];                                       // 0x0029(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FGameplayDebuggerInputConfig;

// ScriptStruct GameplayDebugger.GameplayDebuggerCategoryConfig
// 0x0030 (0x0030 - 0x0000)
struct FGameplayDebuggerCategoryConfig final
{
public:
	class FString                                 CategoryName;                                      // 0x0000(0x0010)(Edit, ZeroConstructor, EditConst, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         SlotIdx;                                           // 0x0010(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EGameplayDebuggerOverrideMode                 ActiveInGame;                                      // 0x0014(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EGameplayDebuggerOverrideMode                 ActiveInSimulate;                                  // 0x0015(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EGameplayDebuggerOverrideMode                 Hidden;                                            // 0x0016(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_17[0x1];                                       // 0x0017(0x0001)(Fixing Size After Last Property [ Dumper-7 ])
	uint8                                         bOverrideSlotIdx : 1;                              // 0x0018(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         Pad_19[0x7];                                       // 0x0019(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<struct FGameplayDebuggerInputConfig>   InputHandlers;                                     // 0x0020(0x0010)(Edit, EditFixedSize, ZeroConstructor, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FGameplayDebuggerCategoryConfig;

// ScriptStruct GameplayDebugger.GameplayDebuggerExtensionConfig
// 0x0028 (0x0028 - 0x0000)
struct FGameplayDebuggerExtensionConfig final
{
public:
	class FString                                 ExtensionName;                                     // 0x0000(0x0010)(Edit, ZeroConstructor, EditConst, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EGameplayDebuggerOverrideMode                 UseExtension;                                      // 0x0010(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_11[0x7];                                       // 0x0011(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<struct FGameplayDebuggerInputConfig>   InputHandlers;                                     // 0x0018(0x0010)(Edit, EditFixedSize, ZeroConstructor, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FGameplayDebuggerExtensionConfig;

// ScriptStruct GameplayDebugger.GameplayDebuggerPlayerData
// 0x0018 (0x0018 - 0x0000)
struct FGameplayDebuggerPlayerData final
{
public:
	class UGameplayDebuggerLocalController*       Controller;                                        // 0x0000(0x0008)(ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	class UInputComponent*                        InputComponent;                                    // 0x0008(0x0008)(ExportObject, ZeroConstructor, InstancedReference, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	class AGameplayDebuggerCategoryReplicator*    Replicator;                                        // 0x0010(0x0008)(ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
};
DUMPER7_ASSERTS_FGameplayDebuggerPlayerData;

SDK_NAMESPACE_END
