6#if WITH_GAMEPLAY_DEBUGGER
8#include "CoreMinimal.h"
9#include "GameplayDebuggerCategory.h"
12class APlayerController;
20class FGameplayDebuggerCategory_Weapons :
public FGameplayDebuggerCategory
24 FGameplayDebuggerCategory_Weapons();
26 virtual void CollectData(APlayerController* OwnerPC, AActor* DebugActor)
override;
27 virtual void DrawData(APlayerController* OwnerPC, FGameplayDebuggerCanvasContext& CanvasContext)
override;
29 static TSharedRef<FGameplayDebuggerCategory> MakeInstance();
32 struct FDebugWeaponData
37 float TriggerSpamTimeRemaining = 0.0f;
38 bool bShouldAutoReload =
false;
40 int32 CurrentAmmo = 0;
41 int32 TotalAmmoCount = 0;
42 TArray<FString> CurrentWeaponAttachments;
48 explicit FDebugWeaponData(
const struct FWeaponData_T& WeaponData);
49 friend FArchive& operator<<(FArchive& Ar, FDebugWeaponData& WeaponData);
54 virtual void CollectWeaponData(AActor* SelectedActor);
55 virtual void CollectServerWeaponData(APlayerController* OwnerPC);
57 void PrintWeaponData(FGameplayDebuggerCanvasContext& CanvasContext,
const FDebugWeaponData& WeaponData);
58 void PrintWeaponData(FGameplayDebuggerCanvasContext& CanvasContext,
const FDebugWeaponData& WeaponData,
const FDebugWeaponData& ServerWeaponData);
59 void PrintWeaponInventory(FGameplayDebuggerCanvasContext& CanvasContext);
63 FString CurrentWeaponID =
"";
69 void ToggleShowWeaponState();
70 void ToggleShowWeaponInventory();
86 bool bTriggerMustWait;
89 TArray<FDebugWeaponData> Weapons;
90 FDebugWeaponData CurrentWeapon;
92 FString FireMode =
"N/A";
94 bool bCanChangeReference =
false;
95 bool bIsUsingPlayerActor =
false;
97 bool bUnlimitedAmmo =
false;
98 bool bShowWeaponTrace =
false;
99 bool bBottomlessClip =
false;
101 void Serialize(FArchive& Ar);
104 FRepData ServerDataPack;
106 bool bDebugActorHasController =
false;
107 bool bShowServerValues =
false;
Struct representing data of a weapon that changes.
Definition WeaponStructs.h:861
Represents statistics for a weapon.
Definition WeaponStructs.h:622