5#if WITH_GAMEPLAY_DEBUGGER
7#include "CoreMinimal.h"
8#include "GameplayDebuggerCategory.h"
9#include "GameplayDebuggerTypes.h"
13class APlayerController;
15class FGameplayDebuggerCategory_Selector :
public FGameplayDebuggerCategory
19 FGameplayDebuggerCategory_Selector();
22 virtual void CollectData(APlayerController* OwnerPC, AActor* DebugActor)
override;
23 virtual void DrawData(APlayerController* OwnerPC, FGameplayDebuggerCanvasContext& CanvasContext)
override;
25 static TSharedRef<FGameplayDebuggerCategory> MakeInstance();
31 void HighlightActor(
const AActor* Actor);
32 void OutlineActorMesh(
const AActor* Actor,
const bool bTurnOn);
34 void ToggleHighlightMethod();
35 void SetHighlightActor(
const bool bValue);
36 void SetOutlineMesh(
const bool bValue);
37 void SetShowNameOverhead(
const bool bValue);
47 AActor* PreviousDebugActor =
nullptr;
49 enum class EActorReferenceMode : uint8
55 EActorReferenceMode ActorReferenceMode = EActorReferenceMode::DebugActor;
56 TWeakObjectPtr<const APawn> PrevDebugActorReference;
57 bool bChangeDebugActor =
false;
58 bool bDrawOverheadInfo =
true;
60 EHighlightMethod HighlightMethod = Name;
61 bool bActorOutlined =
false;
62 int32 PreviousDepthValue = 0;
67 bool bCanChangeReference =
false;
68 bool bIsUsingPlayerActor =
false;
72 void Serialize(FArchive& Ar);