G1R AngelScript
Scripting reference for the Gothic 1 Remake
Loading...
Searching...
No Matches
UAIPerceptionComponent Class Reference

AIPerceptionComponent is used to register as stimuli listener in AIPerceptionSystem and gathers registered stimuli. UpdatePerception is called when component gets new stimuli (batched). More...

Public Member Functions

AI|Perception
bool IsSenseEnabled (TSubclassOf< UAISense > SenseClass) const
 Returns if a sense is active. Note that this works only if given sense has been already configured for this component instance.
bool GetActorsPerception (AActor Actor, FActorPerceptionBlueprintInfo &Info)
 Retrieves whatever has been sensed about given actor.
void GetCurrentlyPerceivedActors (TSubclassOf< UAISense > SenseToUse, TArray< AActor > &OutActors) const
 If SenseToUse is none all actors currently perceived in any way will get fetched.
void GetKnownPerceivedActors (TSubclassOf< UAISense > SenseToUse, TArray< AActor > &OutActors) const
 If SenseToUse is none all actors ever perceived in any way (and not forgotten yet) will get fetched.
void GetPerceivedHostileActors (TArray< AActor > &OutActors) const
 blueprint interface
void GetPerceivedHostileActorsBySense (const TSubclassOf< UAISense > SenseToUse, TArray< AActor > &OutActors) const
void ForgetAll ()
 basically cleans up PerceptualData, resulting in loss of all previous perception
void RequestStimuliListenerUpdate ()
 Notifies AIPerceptionSystem to update properties for this "stimuli listener".
void SetSenseEnabled (TSubclassOf< UAISense > SenseClass, bool bEnable)
 Note that this works only if given sense has been already configured for this component instance.
Public Member Functions inherited from UActorComponent
void Tick (float32 DeltaSeconds)
 Event called every frame if tick is enabled.
EComponentCreationMethod GetComponentCreationMethod () const
void SetbIsEditorOnly (bool Value)
void EndPlay (EEndPlayReason EndPlayReason)
 Blueprint implementable event for when the component ends play, generally via destruction or its Actor's EndPlay.
void BeginPlay ()
 Blueprint implementable event for when the component is beginning play, called before its owning actor's BeginPlay or when the component is dynamically created if the Actor has already BegunPlay.
void MarkRenderStateDirty ()
bool HasBegunPlay () const
void SetbTickInEditor (bool Value)
bool IsVisualizationComponent () const
void SetIsVisualizationComponent (bool Value)
void AsyncPhysicsTick (float32 DeltaSeconds, float32 SimSeconds)
 Event called every async physics tick if bAsyncPhysicsTickEnabled is true.
bool GetbReplicateUsingRegisteredSubObjectList () const
 When true the replication system will only replicate the registered subobjects list When false the replication system will instead call the virtual ReplicateSubObjects() function where the subobjects need to be manually replicated.
void SetbReplicateUsingRegisteredSubObjectList (bool Value)
 When true the replication system will only replicate the registered subobjects list When false the replication system will instead call the virtual ReplicateSubObjects() function where the subobjects need to be manually replicated.
bool GetbReplicates () const
 Is this component currently replicating? Should the network code consider it for replication? Owning Actor must be replicating first!
void SetbReplicates (bool Value)
 Is this component currently replicating? Should the network code consider it for replication? Owning Actor must be replicating first!
bool GetbAutoActivate () const
 Whether the component is activated at creation or must be explicitly activated.
void SetbAutoActivate (bool Value)
 Whether the component is activated at creation or must be explicitly activated.
void SetbEditableWhenInherited (bool Value)
 True if this component can be modified when it was inherited from a parent actor class.
void SetbCanEverAffectNavigation (bool Value)
 Whether this component can potentially influence navigation.
bool GetbIsEditorOnly () const
 If true, the component will be excluded from non-editor builds.
bool IsBeingDestroyed () const
 Returns whether the component is in the process of being destroyed.
void SetIsReplicated (bool ShouldReplicate)
 Enable or disable replication. This is the equivalent of RemoteRole for actors (only a bool is required for components).
void DestroyComponent (UObject Object)
 Unregister and mark for pending kill a component. This may not be used to destroy a component that is owned by an actor unless the owning actor is calling the function.
bool ComponentHasTag (FName Tag) const
 See if this component contains the supplied tag.
AActor GetOwner () const
 Follow the Outer chain to get the AActor that 'Owns' this component.
void SetAutoActivate (bool bNewAutoActivate)
 Sets whether the component should be auto activate or not. Only safe during construction scripts.
bool IsActive () const
 Returns whether the component is active or not.
void ToggleActive ()
 Toggles the active state of the component.
void SetActive (bool bNewActive, bool bReset=false)
 Sets whether the component is active or not.
void Activate (bool bReset=false)
 Activates the SceneComponent, should be overridden by native child classes.
void Deactivate ()
 Deactivates the SceneComponent.
float32 GetComponentTickInterval () const
 Returns the tick interval for this component's primary tick function, which is the frequency in seconds at which it will be executed.
void AddTickPrerequisiteActor (AActor PrerequisiteActor)
 Make this component tick after PrerequisiteActor.
void AddTickPrerequisiteComponent (UActorComponent PrerequisiteComponent)
 Make this component tick after PrerequisiteComponent.
void RemoveTickPrerequisiteComponent (UActorComponent PrerequisiteComponent)
 Remove tick dependency on PrerequisiteComponent.
void SetTickableWhenPaused (bool bTickableWhenPaused)
 Sets whether this component can tick when paused.
bool IsComponentTickEnabled () const
 Returns whether this component has tick enabled or not.
void SetTickGroup (ETickingGroup NewTickGroup)
 Changes the ticking group for this component.
void RemoveTickPrerequisiteActor (AActor PrerequisiteActor)
 Remove tick dependency on PrerequisiteActor.
void SetComponentTickIntervalAndCooldown (float32 TickInterval)
 Sets the tick interval for this component's primary tick function. Does not enable the tick interval. Takes effect imediately.
void SetComponentTickInterval (float32 TickInterval)
 Sets the tick interval for this component's primary tick function. Does not enable the tick interval. Takes effect on next tick.
void SetComponentTickEnabled (bool bEnabled)
 Set this component's tick functions to be enabled or disabled. Only has an effect if the function is registered.
Public Member Functions inherited from UObject
bool MarkPackageDirty () const
void RemoveFromRoot ()
bool GetIsRooted () const
bool IsTransient () const
bool Modify (bool bAlwaysMarkDirty=true)
void SetTransactional (bool bTransactional)
bool IsSupportedForNetworking () const
UClass GetClass () const
UObject GetOuter () const
UObject GetTypedOuter (TSubclassOf< UObject > Target) const
 Traverses the outer chain searching for the next object of a certain type.
UPackage GetOutermost () const
UPackage GetPackage () const
void AddToRoot ()
UWorld GetWorld () const
FName GetName () const
FString GetFullName (const UObject StopOuter=nullptr) const
FString GetPathName (const UObject StopOuter=nullptr) const
bool IsA (const UClass Class) const
 Returns true if this object is of the specified type, or a child of that type.
void SaveConfig ()
void LoadConfig ()
void ReloadConfig ()
void CopyScriptPropertiesFrom (const UObject OtherObject)
void opCast (?&Address) const
FString ToString () const

Static Public Member Functions

Static Functions
static UAIPerceptionComponent Get (const AActor Actor, FName WithName=NAME_None)
static UAIPerceptionComponent GetOrCreate (AActor Actor, FName WithName=NAME_None)
static UAIPerceptionComponent Create (AActor Actor, FName WithName=NAME_None)
static UClass StaticClass ()
Static Public Member Functions inherited from UActorComponent
static UActorComponent Get (const AActor Actor, FName WithName=NAME_None)
static UActorComponent GetOrCreate (AActor Actor, FName WithName=NAME_None)
static UActorComponent Create (AActor Actor, FName WithName=NAME_None)
static UClass StaticClass ()
Static Public Member Functions inherited from UObject
static UClass StaticClass ()

Public Attributes

AI Perception
TSubclassOf< UAISense > DominantSense
 Indicated sense that takes precedence over other senses when determining sensed actor's location. Should be set to one of the senses configured in SensesConfig, or None.
TArray< TObjectPtr< UAISenseConfig > > SensesConfig
Variables
FActorPerceptionForgetUpdatedDelegate OnTargetPerceptionForgotten
 Notifies all bound delegates that the perception info has been forgotten for a given target. The notification get broadcast when all stimuli of a given target expire. Note that this functionality requires the the actor forgetting must be enabled via AIPerceptionSystem.bForgetStaleActors.
FActorPerceptionUpdatedDelegate OnTargetPerceptionUpdated
 Notifies all bound objects that perception info has been updated for a given target. The notification is broadcast for any received stimulus or on change of state according to the stimulus configuration.
FActorPerceptionInfoUpdatedDelegate OnTargetPerceptionInfoUpdated
 Notifies all bound objects that perception info has been updated for a given target. The notification is broadcast for any received stimulus or on change of state according to the stimulus configuration.
FPerceptionUpdatedDelegate OnPerceptionUpdated
 Might want to move these to special "BP_AIPerceptionComponent".
Public Attributes inherited from UActorComponent
bool bAutoActivate
 Whether the component is activated at creation or must be explicitly activated.
TArray< TObjectPtr< UAssetUserData > > AssetUserData
 Array of user data stored with the component.
TArray< TObjectPtr< UAssetUserData > > AssetUserDataEditorOnly
 Array of user data stored with the component.
bool bReplicates
 Is this component currently replicating? Should the network code consider it for replication? Owning Actor must be replicating first!
FActorComponentTickFunction PrimaryComponentTick
 Main tick function for the Component.
bool bIsEditorOnly
 If true, the component will be excluded from non-editor builds.
bool bReplicateUsingRegisteredSubObjectList
 When true the replication system will only replicate the registered subobjects list When false the replication system will instead call the virtual ReplicateSubObjects() function where the subobjects need to be manually replicated.
TArray< FName > ComponentTags
 Array of tags that can be used for grouping and categorizing. Can also be accessed from scripting.
const EComponentCreationMethod ComponentCreationMethod
const AActor Owner
 Follow the Outer chain to get the AActor that 'Owns' this component.
FActorComponentDeactivateSignature OnComponentDeactivated
 Called when the component has been deactivated.
FActorComponentActivatedSignature OnComponentActivated
 Called when the component has been activated, with parameter indicating if it was from a reset.
float32 ComponentTickInterval
 Returns the tick interval for this component's primary tick function, which is the frequency in seconds at which it will be executed.
Public Attributes inherited from UObject
const UClass Class
const UObject Outer
const UPackage Outermost
const UPackage Package
const UWorld World
const FName Name
const bool IsRooted

Detailed Description

AIPerceptionComponent is used to register as stimuli listener in AIPerceptionSystem and gathers registered stimuli. UpdatePerception is called when component gets new stimuli (batched).

Member Function Documentation

◆ Create()

UAIPerceptionComponent Create ( AActor Actor,
FName WithName = NAME_None )
static

◆ ForgetAll()

void ForgetAll ( )

basically cleans up PerceptualData, resulting in loss of all previous perception

◆ Get()

UAIPerceptionComponent Get ( const AActor Actor,
FName WithName = NAME_None )
static

◆ GetActorsPerception()

bool GetActorsPerception ( AActor Actor,
FActorPerceptionBlueprintInfo & Info )

Retrieves whatever has been sensed about given actor.

◆ GetCurrentlyPerceivedActors()

void GetCurrentlyPerceivedActors ( TSubclassOf< UAISense > SenseToUse,
TArray< AActor > & OutActors ) const

If SenseToUse is none all actors currently perceived in any way will get fetched.

◆ GetKnownPerceivedActors()

void GetKnownPerceivedActors ( TSubclassOf< UAISense > SenseToUse,
TArray< AActor > & OutActors ) const

If SenseToUse is none all actors ever perceived in any way (and not forgotten yet) will get fetched.

◆ GetOrCreate()

UAIPerceptionComponent GetOrCreate ( AActor Actor,
FName WithName = NAME_None )
static

◆ GetPerceivedHostileActors()

void GetPerceivedHostileActors ( TArray< AActor > & OutActors) const

blueprint interface

◆ GetPerceivedHostileActorsBySense()

void GetPerceivedHostileActorsBySense ( const TSubclassOf< UAISense > SenseToUse,
TArray< AActor > & OutActors ) const

◆ IsSenseEnabled()

bool IsSenseEnabled ( TSubclassOf< UAISense > SenseClass) const

Returns if a sense is active. Note that this works only if given sense has been already configured for this component instance.

◆ RequestStimuliListenerUpdate()

void RequestStimuliListenerUpdate ( )

Notifies AIPerceptionSystem to update properties for this "stimuli listener".

◆ SetSenseEnabled()

void SetSenseEnabled ( TSubclassOf< UAISense > SenseClass,
bool bEnable )

Note that this works only if given sense has been already configured for this component instance.

◆ StaticClass()

UClass StaticClass ( )
static

Member Data Documentation

◆ DominantSense

TSubclassOf<UAISense> DominantSense

Indicated sense that takes precedence over other senses when determining sensed actor's location. Should be set to one of the senses configured in SensesConfig, or None.

◆ OnPerceptionUpdated

FPerceptionUpdatedDelegate OnPerceptionUpdated

Might want to move these to special "BP_AIPerceptionComponent".

◆ OnTargetPerceptionForgotten

FActorPerceptionForgetUpdatedDelegate OnTargetPerceptionForgotten

Notifies all bound delegates that the perception info has been forgotten for a given target. The notification get broadcast when all stimuli of a given target expire. Note that this functionality requires the the actor forgetting must be enabled via AIPerceptionSystem.bForgetStaleActors.

@param SourceActor Actor associated to the stimulus (can not be null) @param Stimulus Updated stimulus

◆ OnTargetPerceptionInfoUpdated

FActorPerceptionInfoUpdatedDelegate OnTargetPerceptionInfoUpdated

Notifies all bound objects that perception info has been updated for a given target. The notification is broadcast for any received stimulus or on change of state according to the stimulus configuration.

Note - This delegate will be called even if source actor is no longer valid by the time a stimulus gets processed so it is better to use source id for bookkeeping.

@param UpdateInfo Data structure providing information related to the updated perceptual data

◆ OnTargetPerceptionUpdated

FActorPerceptionUpdatedDelegate OnTargetPerceptionUpdated

Notifies all bound objects that perception info has been updated for a given target. The notification is broadcast for any received stimulus or on change of state according to the stimulus configuration.

Note - This delegate will not be called if source actor is no longer valid by the time a stimulus gets processed. Use OnTargetPerceptionInfoUpdated providing a source id to handle those cases.

@param SourceActor Actor associated to the stimulus (can not be null) @param Stimulus Updated stimulus

◆ SensesConfig

TArray<TObjectPtr<UAISenseConfig> > SensesConfig