5#if WITH_GAMEPLAY_DEBUGGER
7#include "CoreMinimal.h"
8#include "GameplayDebuggerExtension.h"
11enum EDebugActorSelector
21class FGameplayDebuggerExtension_Selector :
public FGameplayDebuggerExtension
24 FGameplayDebuggerExtension_Selector();
26 virtual void OnActivated()
override;
27 virtual void OnDeactivated()
override;
28 virtual FString GetDescription()
const override;
30 static TSharedRef<FGameplayDebuggerExtension> MakeInstance();
36 void TogglePlayerActors();
38 void CyclePawnActors();
40 void CycleDebugActors();
42 void SetActiveActor(
const EDebugActorSelector ActiveActor);
44 int32 TogglePlayersBindingIdx;
45 int32 CyclePawnsBindingIdx;
46 int32 CycleActorsBindingIdx;
48 bool bDebugPlayerActive =
false;
49 bool bDebugPawnActive =
false;
50 bool bDebugActorActive =
false;
53 mutable uint32 bIsCachedDescriptionValid : 1;
54 mutable FString CachedDescription;
56 AActor* PreviousDebugActor =
nullptr;
59 void ToggleShowServerValues();
60 void SetShowServerValues(
const bool bValue);
62 int32 ServerBindingIdx;
67 AActor* LineTraceForActor(
const bool bOnlyPawns)
const;
68 AActor* LineTraceForActor(
const bool bOnlyPawns, FVector& HitLocation)
const;
70 AActor* SphereTraceForActor(
const bool bOnlyPawns,
const FVector& HitLocation)
const;
72 void SetPlayerAsDebugActor();
73 void SetPreviousActorAsDebugActor();