5#if WITH_GAMEPLAY_DEBUGGER
7#include "CoreMinimal.h"
8#include "GameplayDebuggerCategory.h"
9#include "GameplayDebuggerTypes.h"
13class APlayerController;
15class FGameplayDebuggerCategory_Base :
public FGameplayDebuggerCategory
19 FGameplayDebuggerCategory_Base();
22 virtual void DrawData(APlayerController* OwnerPC, FGameplayDebuggerCanvasContext& CanvasContext)
override;
24 static TSharedRef<FGameplayDebuggerCategory> MakeInstance();
26 APawn* GetSelectedPawn(
const APlayerController* OwnerPC, AActor* DebugActor);
27 static bool GetOverheadLocation(
const AActor& DebugActor,
const FGameplayDebuggerCanvasContext& CanvasContext,
const FString& String,
float& PosX,
float& PosY);
30 const FString True = FString(
"true");
31 const FString False = FString(
"false");
35 void CycleActorReference();
37 void CycleDebugActors();
40 enum class EActorReferenceMode : uint8
46 EActorReferenceMode ActorReferenceMode = EActorReferenceMode::DebugActor;
47 TWeakObjectPtr<const APawn> PrevDebugActorReference;
48 bool bChangeDebugActor =
false;
49 bool bDrawOverheadInfo =
false;
54 bool bCanChangeReference =
false;
55 bool bIsUsingPlayerActor =
false;
57 void Serialize(FArchive& Ar);
59 FRepData BaseDataPack;