#pragma once

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

// Package: GameplayDebugger

#include "Basic.hpp"

#include "GameplayDebugger_structs.hpp"
#include "Engine_classes.hpp"
#include "InputCore_structs.hpp"
#include "DeveloperSettings_classes.hpp"
#include "CoreUObject_classes.hpp"


SDK_NAMESPACE_START

// Class GameplayDebugger.GameplayDebuggerCategoryReplicator
// 0x00C0 (0x0368 - 0x02A8)
class AGameplayDebuggerCategoryReplicator final : public AActor
{
public:
	class APlayerController*                      OwnerPC;                                           // 0x02A8(0x0008)(Net, ZeroConstructor, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected, TObjectPtr)
	bool                                          bIsEnabled;                                        // 0x02B0(0x0001)(Net, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_2B1[0x7];                                      // 0x02B1(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	struct FGameplayDebuggerNetPack               ReplicatedData;                                    // 0x02B8(0x0018)(Net, RepNotify, Protected, NativeAccessSpecifierProtected)
	struct FGameplayDebuggerDebugActor            DebugActor;                                        // 0x02D0(0x0014)(Net, NoDestructor, Protected, NativeAccessSpecifierProtected)
	uint8                                         Pad_2E4[0x4];                                      // 0x02E4(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	struct FGameplayDebuggerVisLogSync            VisLogSync;                                        // 0x02E8(0x0010)(Net, Protected, NativeAccessSpecifierProtected)
	class UGameplayDebuggerRenderingComponent*    RenderingComp;                                     // 0x02F8(0x0008)(ExportObject, ZeroConstructor, InstancedReference, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected, TObjectPtr)
	uint8                                         Pad_300[0x68];                                     // 0x0300(0x0068)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void ClientDataPackPacket(const struct FGameplayDebuggerDataPackRPCParams& Params_0);
	void OnRep_ReplicatedData();
	void ServerResetViewPoint();
	void ServerSendCategoryInputEvent(int32 CategoryId, int32 HandlerId);
	void ServerSendExtensionInputEvent(int32 ExtensionId, int32 HandlerId);
	void ServerSetCategoryEnabled(int32 CategoryId, bool bEnable);
	void ServerSetDebugActor(class AActor* Actor, bool bSelectInEditor);
	void ServerSetEnabled(bool bEnable);
	void ServerSetViewPoint(const struct FVector& InViewLocation, const struct FVector& InViewDirection);

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

// Class GameplayDebugger.GameplayDebuggerConfig
// 0x0230 (0x0258 - 0x0028)
class UGameplayDebuggerConfig final : public UObject
{
public:
	struct FKey                                   ActivationKey;                                     // 0x0028(0x0018)(Edit, Config, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FKey                                   CategoryRowNextKey;                                // 0x0040(0x0018)(Edit, Config, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FKey                                   CategoryRowPrevKey;                                // 0x0058(0x0018)(Edit, Config, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FKey                                   CategorySlot0;                                     // 0x0070(0x0018)(Edit, Config, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FKey                                   CategorySlot1;                                     // 0x0088(0x0018)(Edit, Config, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FKey                                   CategorySlot2;                                     // 0x00A0(0x0018)(Edit, Config, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FKey                                   CategorySlot3;                                     // 0x00B8(0x0018)(Edit, Config, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FKey                                   CategorySlot4;                                     // 0x00D0(0x0018)(Edit, Config, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FKey                                   CategorySlot5;                                     // 0x00E8(0x0018)(Edit, Config, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FKey                                   CategorySlot6;                                     // 0x0100(0x0018)(Edit, Config, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FKey                                   CategorySlot7;                                     // 0x0118(0x0018)(Edit, Config, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FKey                                   CategorySlot8;                                     // 0x0130(0x0018)(Edit, Config, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FKey                                   CategorySlot9;                                     // 0x0148(0x0018)(Edit, Config, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         DebugCanvasPaddingLeft;                            // 0x0160(0x0004)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         DebugCanvasPaddingRight;                           // 0x0164(0x0004)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         DebugCanvasPaddingTop;                             // 0x0168(0x0004)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         DebugCanvasPaddingBottom;                          // 0x016C(0x0004)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bDebugCanvasEnableTextShadow;                      // 0x0170(0x0001)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_171[0x7];                                      // 0x0171(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<struct FGameplayDebuggerCategoryConfig> Categories;                                       // 0x0178(0x0010)(Edit, EditFixedSize, ZeroConstructor, Config, NativeAccessSpecifierPublic)
	TArray<struct FGameplayDebuggerExtensionConfig> Extensions;                                      // 0x0188(0x0010)(Edit, EditFixedSize, ZeroConstructor, Config, NativeAccessSpecifierPublic)
	uint8                                         Pad_198[0xC0];                                     // 0x0198(0x00C0)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class GameplayDebugger.GameplayDebuggerUserSettings
// 0x0068 (0x00A0 - 0x0038)
class UGameplayDebuggerUserSettings final : public UDeveloperSettings
{
public:
	uint8                                         bEnableGameplayDebuggerInEditor : 1;               // 0x0038(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, Config, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         Pad_39[0x3];                                       // 0x0039(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         MaxViewDistance;                                   // 0x003C(0x0004)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         MaxViewAngle;                                      // 0x0040(0x0004)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_44[0x4];                                       // 0x0044(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	TSet<class FName>                             EnabledCategories;                                 // 0x0048(0x0050)(Edit, Config, NativeAccessSpecifierPublic)
	int32                                         FontSize;                                          // 0x0098(0x0004)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_9C[0x4];                                       // 0x009C(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class GameplayDebugger.GameplayDebuggerLocalController
// 0x0060 (0x0088 - 0x0028)
class UGameplayDebuggerLocalController final : public UObject
{
public:
	class AGameplayDebuggerCategoryReplicator*    CachedReplicator;                                  // 0x0028(0x0008)(ZeroConstructor, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected, TObjectPtr)
	class AGameplayDebuggerPlayerManager*         CachedPlayerManager;                               // 0x0030(0x0008)(ZeroConstructor, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected, TObjectPtr)
	class AActor*                                 DebugActorCandidate;                               // 0x0038(0x0008)(ZeroConstructor, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected, TObjectPtr)
	class UFont*                                  HUDFont;                                           // 0x0040(0x0008)(ZeroConstructor, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected, TObjectPtr)
	uint8                                         Pad_48[0x40];                                      // 0x0048(0x0040)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class GameplayDebugger.GameplayDebuggerPlayerManager
// 0x0030 (0x02D8 - 0x02A8)
class AGameplayDebuggerPlayerManager final : public AActor
{
public:
	uint8                                         Pad_2A8[0x8];                                      // 0x02A8(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<struct FGameplayDebuggerPlayerData>    PlayerData;                                        // 0x02B0(0x0010)(ZeroConstructor, ContainsInstancedReference, Protected, NativeAccessSpecifierProtected)
	TArray<class AGameplayDebuggerCategoryReplicator*> PendingRegistrations;                         // 0x02C0(0x0010)(ZeroConstructor, Protected, UObjectWrapper, NativeAccessSpecifierProtected, TObjectPtr)
	uint8                                         Pad_2D0[0x8];                                      // 0x02D0(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class GameplayDebugger.GameplayDebuggerRenderingComponent
// 0x0070 (0x05F0 - 0x0580)
class UGameplayDebuggerRenderingComponent final : public UDebugDrawComponent
{
public:
	uint8                                         Pad_580[0x70];                                     // 0x0580(0x0070)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

SDK_NAMESPACE_END
