Space Plunder
Loading...
Searching...
No Matches
GameplayDebuggerCategory_AIToolKit.h
Go to the documentation of this file.
1// Fill out your copyright notice in the Description page of Project Settings.
2
3#pragma once
4
5
6#if WITH_GAMEPLAY_DEBUGGER
7
8#include "CoreMinimal.h"
9#include "GameplayDebuggerCategory.h"
11
12class AActor;
13class APlayerController;
14
15// namespace FGameplayDebuggerAIVars
16// {
17// // Declare as extern symbol, definition located somewhere else
18// extern bool bDisplayActionFriends;
19// // Define/declare other variables
20// extern bool bShowPatrolPoints;
21// extern bool bShowAllKnownActors;
22//
23// extern bool bDisplayTeamNumbers;
24// extern bool bDisplayFaction;
25//
26// }
27//
28
29
30class FGameplayDebuggerCategory_AIToolKit : public FGameplayDebuggerCategory_Base
31{
32
33public:
34 FGameplayDebuggerCategory_AIToolKit();
35
36 virtual void CollectData(APlayerController* OwnerPC, AActor* DebugActor) override;
37 virtual void DrawData(APlayerController* OwnerPC, FGameplayDebuggerCanvasContext& CanvasContext) override;
38
39 static TSharedRef<FGameplayDebuggerCategory> MakeInstance();
40
41
42
43 struct FKnownActorDebugData
44 {
45 FString ActorName;
46 FVector ActorLocation;
47 uint8 bIsHostile;
48 uint8 bIsFriendly;
49 uint8 bIsNeutral;
50
51
52
53 float TrustScore;
54 float HostilityScore;
55 float TrustDecreaseFactor;
56 float HostilityIncreaseFactor;
57
58 float DamageDealt;
59 float DetectionLevel;
60 float VisibilityScore;
61 uint8 bDetected;
62 uint8 bInvestigate;
63 uint8 bIsDead;
64 float DamageReceivedByOwner;
65
66 FKnownActorDebugData()
67 {
68
69 }
70 FKnownActorDebugData(const FString& Name, const FVector& Location, const bool bHostile, const bool bFriendly, const bool bNeutral, const float Trust,
71 const float Hostility, const float TrustDecrease, const float HostilityIncrease, const float Damage, const float Detection, const float Visibility,
72 const bool Detected, const bool Investigate, const bool Dead, const float DamageReceived) :
73 ActorName(Name), ActorLocation(Location), bIsHostile(bHostile), bIsFriendly(bFriendly), bIsNeutral(bNeutral), TrustScore(Trust),HostilityScore(Hostility),
74 TrustDecreaseFactor(TrustDecrease), HostilityIncreaseFactor(HostilityIncrease), DamageDealt(Damage), DetectionLevel(Detection), VisibilityScore(Visibility),
75 bDetected(Detected), bInvestigate(Investigate), bIsDead(Dead), DamageReceivedByOwner(DamageReceived)
76 {
77 }
78 friend FArchive& operator<<(FArchive& Ar, FKnownActorDebugData& KnownActorData);
79 };
80protected:
81
85 struct FRepData
86 {
87 // FString PawnName;
88 FString CurrentAIState;
89 FString Faction;
90 uint8 Team;
91
92 float Fear;
93 float ReactionTime;
94 float Accuracy;
95 float Aggressive;
96 float Recklessness;
97 float AlertnessLevel;
98 float KnowledgeOfPlayerLocation;
99
100
101 FString CompName;
102 FString TreeDescription;
103 FString BlackboardDescription;
104
105 TArray<FKnownActorDebugData> KnownActorDebugData;
106 void Serialize(FArchive& Ar);
107 };
108 FRepData DataPack;
109};
110
111
112#endif