19 UPROPERTY(BlueprintAssignable)
20 FOnForgottenStimulus OnForgottenStimulus;
23 UFUNCTION(BlueprintCallable, Category="AI Tool Kit")
24 UAISenseConfig* GetPerceptionSenseConfig(const TSubclassOf<UAISense> SenseClass);
25 UFUNCTION(BlueprintCallable, Category="AI Tool Kit")
26 bool SetPerceptionSenseConfig(const TSubclassOf<UAISense> SenseClass, const
bool DetectEnemies, const
bool DetectNeutrals, const
bool DetectFriendlies);
28 virtual
void GetNeutralActors(TArray<AActor*>& OutActors) const;
29 void GetNeutralActorsBySense(TSubclassOf<UAISense> SenseToFilterBy, TArray<AActor*>& OutActors) const;
31 UFUNCTION(BlueprintCallable, Category = "AI Tool Kit")
32 void GetPerceivedNeutralActors(TArray<AActor*>& OutActors) const;
33 UFUNCTION(BlueprintCallable, Category = "AI Tool Kit")
34 void GetPerceivedNeutralActorsBySense(const TSubclassOf<UAISense> SenseToUse, TArray<AActor*>& OutActors) const;
36 virtual
void GetFriendlyActors(TArray<AActor*>& OutActors) const;
37 void GetFriendlyActorsBySense(TSubclassOf<UAISense> SenseToFilterBy, TArray<AActor*>& OutActors) const;
39 UFUNCTION(BlueprintCallable, Category = "AI Tool Kit")
40 void GetPerceivedFriendlyActors(TArray<AActor*>& OutActors) const;
41 UFUNCTION(BlueprintCallable, Category = "AI Tool Kit")
42 void GetPerceivedFriendlyActorsBySense(const TSubclassOf<UAISense> SenseToUse, TArray<AActor*>& OutActors) const;
49 UFUNCTION(BlueprintCallable, Category="AI Tool Kit")
50 AAIController* GetOwnerController()
const{
return AIOwner;};
52 UFUNCTION(BlueprintCallable, Category=
"AI Tool Kit")
53 float GetMaxAge(const TSubclassOf<UAISense> SenseClass);
54 UFUNCTION(BlueprintCallable, Category="AI Tool Kit")
55 bool SetMaxAge(const TSubclassOf<UAISense> SenseClass, const
float MaxAge);
56 UFUNCTION(BlueprintCallable, Category="AI Tool Kit|
Sight")
57 bool SetSightMaxAge(const
float MaxAge);
58 UFUNCTION(BlueprintCallable, Category="AI Tool Kit|
Hearing")
59 bool SetHearingMaxAge(const
float MaxAge);
62 UFUNCTION(BlueprintCallable, Category="AI Tool Kit|
Sight")
63 float GetSightRange();
64 UFUNCTION(BlueprintCallable, Category="AI Tool Kit|
Sight")
65 bool SetSightRange(const
float SightRange);
66 UFUNCTION(BlueprintCallable, Category="AI Tool Kit|
Sight")
67 float GetLoseSightRange();
68 UFUNCTION(BlueprintCallable, Category="AI Tool Kit|
Sight")
69 bool SetLoseSightRange(const
float LoseSightRange);
70 UFUNCTION(BlueprintCallable, Category="AI Tool Kit|
Sight")
71 float GetVisionAngle();
72 UFUNCTION(BlueprintCallable, Category="AI Tool Kit|
Sight")
73 bool SetVisionAngle(const
float VisionAngle);
74 UFUNCTION(BlueprintCallable, Category="AI Tool Kit|
Sight")
75 float GetAutoSuccessRange();
76 UFUNCTION(BlueprintCallable, Category="AI Tool Kit|
Sight")
77 bool SetAutoSuccessRange(const
float AutoSuccessRange);
78 UFUNCTION(BlueprintCallable, Category="AI Tool Kit|
Sight")
79 float GetPOVBackwardOffset();
80 UFUNCTION(BlueprintCallable, Category="AI Tool Kit|
Sight")
81 bool SetPOVBackwardOffset(const
float POVBackwardOffset);
82 UFUNCTION(BlueprintCallable, Category="AI Tool Kit|
Sight")
83 float GetNearClippingRadius();
84 UFUNCTION(BlueprintCallable, Category="AI Tool Kit|
Sight")
85 bool SetNearClippingRadius(const
float NearClippingRadius);
92 UFUNCTION(BlueprintCallable, Category="AI Tool Kit|
Hearing")
93 float GetHearingRange();
94 UFUNCTION(BlueprintCallable, Category="AI Tool Kit|
Hearing")
95 bool SetHearingRange(const
float HearingRange);
103 UFUNCTION(BlueprintCallable, Category="AI Tool Kit")
104 FAISenseAffiliationFilter GetDetectionByAffiliation(const TSubclassOf<UAISense> SenseClass);
107 UFUNCTION(BlueprintCallable, Category="AI Tool Kit")
108 class UAISenseConfig_Sight* GetSightConfig();
109 UFUNCTION(BlueprintCallable, Category="AI Tool Kit")
110 class UAISenseConfig_Hearing* GetHearingConfig();
111 UFUNCTION(BlueprintCallable, Category="AI Tool Kit")
113 UFUNCTION(BlueprintCallable, Category="AI Tool Kit")
114 class UAISenseConfig_Damage* GetDamageConfig();
115 UFUNCTION(BlueprintCallable, Category="AI Tool Kit")
116 class UAISenseConfig_Prediction* GetPredictionConfig();
117 UFUNCTION(BlueprintCallable, Category="AI Tool Kit")
118 class UAISenseConfig_Team* GetTeamConfig();
119 UFUNCTION(BlueprintCallable, Category="AI Tool Kit")
120 class UAISenseConfig_Touch* GetTouchConfig();
123 virtual
void HandleExpiredStimulus(FAIStimulus& StimulusStore) override;
125 UFUNCTION(BlueprintCallable, Category="AI Tool Kit", DisplayName="Forget Actor")
126 bool ForgetActorBP(AActor* ActorToForget);
128 UFUNCTION(BlueprintCallable, Category="AI Tool Kit", DisplayName="Set Dominant Sense")
129 bool SetDominantSenseBP(const TSubclassOf<UAISense> SenseClass);
130 UFUNCTION(BlueprintCallable, Category="AI Tool Kit", DisplayName="Get Dominant Sense")
131 TSubclassOf<UAISense> GetDominantSenseBP() const;
134 UFUNCTION(BlueprintCallable, Category="AI Tool Kit", DisplayName="Get Body Actor")
135 const AActor* GetBodyActorBP() const;
136 UFUNCTION(BlueprintCallable, Category="AI Tool Kit", DisplayName="Get Mutable Body Actor")
137 AActor* GetMutableBodyActorBP();
138 UFUNCTION(BlueprintCallable, Category="AI Tool Kit", DisplayName="Get
Location And Direction")
139 void GetLocationAndDirectionBP(FVector&
Location, FVector& Direction) const;
143 UFUNCTION(BlueprintCallable, Category="AI Tool Kit", DisplayName="Get
Team Identifier")
144 FGenericTeamId GetTeamIdentifierBP() const;
153 UFUNCTION(BlueprintCallable, Category="AI Tool Kit", DisplayName="Update Perception Allow List")
154 void UpdatePerceptionAllowListBP(const TSubclassOf<UAISense> SenseClass, const
bool bNewValue);
156 UFUNCTION(BlueprintCallable, Category="AI Tool Kit", DisplayName="Get Youngest Stimulus Age")
157 float GetYoungestStimulusAgeBP(AActor* Source) const;
158 UFUNCTION(BlueprintCallable, Category="AI Tool Kit", DisplayName="Has Any Active Stimulus")
159 bool HasAnyActiveStimulusBP(const AActor* Source) const;
160 UFUNCTION(BlueprintCallable, Category="AI Tool Kit", DisplayName="Has Any Current Stimulus")
161 bool HasAnyCurrentStimulusBP(const AActor* Source) const;
162 UFUNCTION(BlueprintCallable, Category="AI Tool Kit", DisplayName="Has Active Stimulus")
163 bool HasActiveStimulusBP(const AActor* Source, const TSubclassOf<UAISense> SenseClass) const;
166#if WITH_GAMEPLAY_DEBUGGER_MENU
167 virtual void DescribeSelfToGameplayDebugger(FGameplayDebuggerCategory* DebuggerCategory)
const override;