UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FAIStimulus Struct Reference

#include <AIPerceptionTypes.h>

Public Types

enum  FResult { SensingSucceeded , SensingFailed }
 

Public Member Functions

AIMODULE_API FAIStimulus (const UAISense &Sense, float StimulusStrength, const FVector &InStimulusLocation, const FVector &InReceiverLocation, FResult Result=SensingSucceeded, FName InStimulusTag=NAME_None)
 
 FAIStimulus ()
 
FAIStimulusSetExpirationAge (float InExpirationAge)
 
FAIStimulusSetStimulusAge (float StimulusAge)
 
FAIStimulusSetWantsNotifyOnlyOnValueChange (bool InEnable)
 
float GetAge () const
 
bool AgeStimulus (float ConstPerceptionAgingRate)
 
bool WasSuccessfullySensed () const
 
bool IsExpired () const
 
void MarkNoLongerSensed ()
 
void MarkExpired ()
 
bool IsActive () const
 
bool WantsToNotifyOnlyOnPerceptionChange () const
 
bool IsValid () const
 
AIMODULE_API FString GetDebugDescription () const
 

Public Attributes

float Strength
 
FVector StimulusLocation
 
FVector ReceiverLocation
 
FName Tag
 
FAISenseID Type
 

Static Public Attributes

static AIMODULE_API const float NeverHappenedAge = FLT_MAX
 

Protected Attributes

float Age
 
float ExpirationAge
 
uint32 bWantsToNotifyOnlyOnValueChange: 1
 
uint32 bSuccessfullySensed:1
 
uint32 bExpired:1
 

Member Enumeration Documentation

◆ FResult

Enumerator
SensingSucceeded 
SensingFailed 

Constructor & Destructor Documentation

◆ FAIStimulus() [1/2]

FAIStimulus::FAIStimulus ( const UAISense Sense,
float  StimulusStrength,
const FVector InStimulusLocation,
const FVector InReceiverLocation,
FResult  Result = SensingSucceeded,
FName  InStimulusTag = NAME_None 
)

this is the recommended constructor. Use others if you know what you're doing.

◆ FAIStimulus() [2/2]

FAIStimulus::FAIStimulus ( )
inline

Member Function Documentation

◆ AgeStimulus()

bool FAIStimulus::AgeStimulus ( float  ConstPerceptionAgingRate)
inline
Returns
false when this stimulus is no longer valid, when it is Expired

◆ GetAge()

float FAIStimulus::GetAge ( ) const
inline

◆ GetDebugDescription()

FString FAIStimulus::GetDebugDescription ( ) const

◆ IsActive()

bool FAIStimulus::IsActive ( ) const
inline

◆ IsExpired()

bool FAIStimulus::IsExpired ( ) const
inline

◆ IsValid()

bool FAIStimulus::IsValid ( ) const
inline

◆ MarkExpired()

void FAIStimulus::MarkExpired ( )
inline

◆ MarkNoLongerSensed()

void FAIStimulus::MarkNoLongerSensed ( )
inline

◆ SetExpirationAge()

FAIStimulus & FAIStimulus::SetExpirationAge ( float  InExpirationAge)
inline

◆ SetStimulusAge()

FAIStimulus & FAIStimulus::SetStimulusAge ( float  StimulusAge)
inline

◆ SetWantsNotifyOnlyOnValueChange()

FAIStimulus & FAIStimulus::SetWantsNotifyOnlyOnValueChange ( bool  InEnable)
inline

◆ WantsToNotifyOnlyOnPerceptionChange()

bool FAIStimulus::WantsToNotifyOnlyOnPerceptionChange ( ) const
inline

◆ WasSuccessfullySensed()

bool FAIStimulus::WasSuccessfullySensed ( ) const
inline

Member Data Documentation

◆ Age

float FAIStimulus::Age
protected

◆ bExpired

uint32 FAIStimulus::bExpired
protected

this means the stimulus was originally created with a "time limit" and this time has passed. Expiration also results in calling MarkNoLongerSensed

◆ bSuccessfullySensed

uint32 FAIStimulus::bSuccessfullySensed
protected

◆ bWantsToNotifyOnlyOnValueChange

uint32 FAIStimulus::bWantsToNotifyOnlyOnValueChange
protected

◆ ExpirationAge

float FAIStimulus::ExpirationAge
protected

◆ NeverHappenedAge

const float FAIStimulus::NeverHappenedAge = FLT_MAX
static

◆ ReceiverLocation

FVector FAIStimulus::ReceiverLocation

◆ StimulusLocation

FVector FAIStimulus::StimulusLocation

◆ Strength

float FAIStimulus::Strength

◆ Tag

FName FAIStimulus::Tag

◆ Type

FAISenseID FAIStimulus::Type

The documentation for this struct was generated from the following files: