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

High-level AI state. These should be used to combine existing tasks to make up a new behavior. For example, one state could be "Do daily routine", another one could be "In Combat". More...

Public Member Functions

Functions
UCharacterAIState GetCurrentSubstate () const
 Returns the substate we're waiting for right now. (If there is one).
void AddDynamicOwnedGameplayTagToOwner (FGameplayTag Tag)
 Adds a new OwnedGameplayTag to the owner, but only if this AIState has not added one of these before. It's safe to call multiple times, it won't add more than 1 tag. The tags will be removed automatically once this state ends.
void AssessEventFromPerception (FRememberedPerception Perception, FPerceptionShortTermMemory Memory, FGameplayTag Assess)
 Performs an AssessEvent from the given perception.
void DisplayImGui ()
 Override to call ImGui:: Functions that are shown in the AIStates debug tool.
void DisplayOverheadImGui ()
 Override to call ImGui:: Functions that are shown in Overhead box.
void DrawStateImGui ()
 Draws this states imgui panel, callable from script/BP.
TArray< FName > GetSimulationPreferredLocationLoop () const
 Return an array with points that should be navigated to during daily routine simulation. Only required when the normal schedule waypoint is too far off.
void HandleStateEnded (EGenericTaskResult Result)
 Called when this state has ended. (Not if the character got destroyed).
void OnAnyPerceptionReceived (AActor Instigator, FGameplayTag Tag)
 Called when any perception event was triggered.
void OnGameplayTagEvent (const FGameplayTag Tag, FGameplayEventData EventData)
 Called when our AbilitySystemComponent received an event with any tag that was put into GameplayTagEventSubscriptions.
void SetupPerceptions (UCharacterPerceptionComponent Perception)
 Override this to setup the perception handlers for this state.
bool ShouldShowTaskInfoInImGui ()
 Override decide whether to show the imgui info of the base-class (currently awaited task, etc).
int CancelSubStatesOfClass (TSubclassOf< UCharacterAIState > Class)
 Cancels all currently running tasks/substates of the given class. Returns the number of cancelled states.
void DebugDrawInWorld () const
 Draws debug information in the world. Use outside PIE possible.
FBox EstimateMovementBoundingBox () const
 How far will the character go during this state?
AGothicCharacterState GetCharacterState () const
 Persistent state of this character.
AGothicAIController GetController () const
 Controller this state belongs to.
void BindAssessmentToPerception (FPerceptionHandler &PerceptionHandler, FGameplayTag WhenGained=FGameplayTag ::Empty, FGameplayTag WhenLost=FGameplayTag ::Empty)
FVector GetMoveGoalOffsetFor (const AActor TargetActor) const
 When following us/going towards us, offset the goal location by the returned value. This is useful for e.g. combat formations, where multiple characters follow a leader.
AGothicNPCState GetNPCState () const
 Persistent state of this character (If this is an NPC).
AGothicCharacter GetOther () const
 Other character that is relevant to this state. (If Others contains more than one Character, the first one is returned).
UCharacterAIState GetParentState () const
 Returns the state that started us as a substate. Nullptr if we are the root state.
AGothicCharacter GetSelf () const
 Character this state belongs to.
bool IsInSubStateOfClass (TSubclassOf< UCharacterAIState > Class)
 Returns true, if we're currently waiting for a substate of the given class.
bool IsSubStateOf (TSubclassOf< UCharacterAIState > Class)
 Returns true, if we're currently being run by a parent state of the given class.
bool MayDoGracefulExitNow () const
 Override and return true here for extra conditions on when a graceful exit is allowed. Note: Should be used in the states coroutine somewhere in conjunction with bShouldExitState.
void OnGracefulExitRequested ()
 Called from outside to signal that the state should gracefully end as soon as possible. This allows the proper animations to be played before switching to a different state.
bool PrefersGracefulExit () const
 Override and return true here if this state should do a graceful exit instead of an immediate switch, if possible. Note: Just a hint to external code.
void RemoveDynamicOwnedGameplayTagFromOwner (FGameplayTag Tag)
 Removes the given tag from the owner, as long as it has been added from this state's AddDynamicOwnedGameplayTagToOwner. This function will not touch Tags that were not added by this AIState. The tags will be removed automatically once this state ends.
void ResetWalkSpeed ()
 This task will no longer override the WalkSpeed but keeps subscription to WalkSpeedModifierComponent.
void RestartState ()
 Lets this state re-start its DoTask()-Coroutine. This can only be used on Script based AIStates!
void SetOther (AGothicCharacter Other)
 Sets the other character that is relevant to this state.
void SetWalkSpeed (EWalkSpeed WalkSpeed)
 Override WalkSpeed with the EGothicSpeedPriority::CharacterAIState while this task is alive or until user calls ResetWalkSpeed().
Public Member Functions inherited from UAbilityTaskCoroutine
void StopWaitingAndContinueTask ()
 Cancels any WaitSeconds/WaitTask/etc calls that were currently blocking the DoTask-Coroutine.
const EGenericTaskResult & WaitForFirstTaskToEnd (FAbilityTaskExecutor Task1, FAbilityTaskExecutor Task2, FAbilityTaskExecutor Task3=FAbilityTaskExecutor(), FAbilityTaskExecutor Task4=FAbilityTaskExecutor(), FAbilityTaskExecutor Task5=FAbilityTaskExecutor(), FAbilityTaskExecutor Task6=FAbilityTaskExecutor())
const EGenericTaskResult & WaitForLastTaskToEnd (FAbilityTaskExecutor Task1, FAbilityTaskExecutor Task2, FAbilityTaskExecutor Task3=FAbilityTaskExecutor(), FAbilityTaskExecutor Task4=FAbilityTaskExecutor(), FAbilityTaskExecutor Task5=FAbilityTaskExecutor(), FAbilityTaskExecutor Task6=FAbilityTaskExecutor())
const EGenericTaskResult & DoOneOf (float32 Weight1, FAbilityTaskExecutor Task1, float32 Weight2, FAbilityTaskExecutor Task2, float32 Weight3=0.0f, FAbilityTaskExecutor Task3=FAbilityTaskExecutor(), float32 Weight4=0.0f, FAbilityTaskExecutor Task4=FAbilityTaskExecutor(), float32 Weight5=0.0f, FAbilityTaskExecutor Task5=FAbilityTaskExecutor(), float32 Weight6=0.0f, FAbilityTaskExecutor Task6=FAbilityTaskExecutor(), float32 Weight7=0.0f, FAbilityTaskExecutor Task7=FAbilityTaskExecutor(), float32 Weight8=0.0f, FAbilityTaskExecutor Task8=FAbilityTaskExecutor())
void CancelAwaitedTaskAndEndAfterwards ()
 Cancels the task that is currently being executed by calling ExternalCancel on it.
void DoTask ()
 Override this in Script to define what should happen in this task!
void OnActivate ()
 Override this in Script to define what should happen when task is started.
void PerformAutoTimeskip ()
 Automatically executes the coroutine and requests timeskips on awaited tasks and timers. Override RequestTimeskip and call this to have this behavior for your task.
const EGenericTaskResult & WaitForTask (FAbilityTaskExecutor Task)
void WaitForEvent (UObject Object, FName MulticastDelegateName)
 Call from DoTask() - Waits until the given delegate on the given object is called.
const EGenericTaskResult & WaitForTask (UAbilityTaskGeneric Task)
 Call from DoTask() - Runs the given task and pauses the function until the task has ended.
const EGenericTaskResult & WaitForTaskTimeLimited (float32 CancelAfterSeconds, UAbilityTaskGeneric Task)
 Call from DoTask() - Runs the given task and pauses the function until the task has ended or the given time has passed. If the timer is reached, the task is cancelled.
void WaitOneTick ()
 Call from DoTask() - Pauses the function for one single tick and resumes execution in the next frame.
void WaitSeconds (float32 Seconds)
 Call from DoTask() - Pauses the function for time specified and resumes execution after the given time passed.
void WaitUntil (float32 WorldTimeSeconds)
 Call from DoTask() - Pauses the function until the world time (World.TimeSeconds) has reached the given time and resumes execution.
Public Member Functions inherited from UAbilityTaskGeneric
FInGameTime GetInGameTimeNow () const
 Returns the current InGame-Time (fast-forwarded when the player sleeps).
void HandleAvatarChanged ()
 Called when the Character this state belongs to was spawned or despawned.
void OnExternalCancel ()
 Override to decide what should happen when your task got cancelled from outside.
void EndTaskAsCancelled ()
 Call this instead of EndTask() to signal the task was cancelled.
void EndTaskAsFailure ()
 Call this instead of EndTask() to signal the task having failed.
void EndTaskAsSuccess ()
 Call this instead of EndTask() to signal the task ending successfully.
void EndTaskWithResult (EGenericTaskResult Result)
 Call this instead of EndTask() to signal the task having failed.
AGothicAIController GetAvatarAIController () const
 If the avatar is controlled by an AIController, returns it. Nullptr otherwise.
AGothicCharacter GetAvatarCharacter () const
 If the avatar is a GothicCharacter, returns it. Nullptr otherwise.
AGothicCharacterState GetAvatarCharacterState () const
 If the avatar is a GothicCharacter, returns its CharacterState. Nullptr otherwise.
AGothicNPCState GetAvatarNPCState () const
 If the avatar is a n NPC, returns its NPCState. Nullptr otherwise.
APlayerController GetAvatarPlayerController () const
 If the avatar is controlled by a PlayerController, returns it. Nullptr otherwise.
void ExternalCancel ()
FInGameTime GetRuntimeInGame () const
 How long this task has been running for (in InGame-time).
float32 GetRuntimeSeconds () const
 How long this task has been running for (in seconds).
float32 GetTimeRequestedToSkip () const
 Returns how many seconds we're supposed to skip.
void HandleTimeskipRequest ()
 Let this task skip forward in time, ie. teleporting the Avatar to their destination or somewhere along the way or skipping animations. Use GetTimeRequestedToSkip() and ReportTimeSkipped(...) to get info on how much to skip and to notify if you were able to skip something.
bool HasBeenActivated () const
 Returns true if ReadyForActivated has ever been called on this task.
bool HasTaskJustStarted (float32 ThresholdRealtimeSeconds=10.000000) const
 Returns true if this task has not been running for long yet. For Dailyroutine-Tasks this can be used to check if the task was activated via the regular schedule or re-activated after the schedule was interrupted.
bool IsInDailyRoutineSimulation () const
 Returns true, if this task is owned by an NPC that does DailyRoutine simulation (has no visuals) right now.
bool ReportTimeSkip (float32 SecondsThatWillBeSkipped)
 Reports that this task is able to skip some of the requested time to skip and requests for permission to do so. Returns true when the timeskip was accepted and it's okay to do the actions now.
bool ReportTimeSkipWhateverIsLeft ()
 Reports that this task would run forever and can skip all the time that we have left. Returns true when the timeskip was accepted and it's okay to do the actions now.
void SetCustomPathfollowingSetting (FGothicPathfollowSettings PathfollowSetting)
 When pathfollowing should behave different for this AIState, provide your own settings.
Public Member Functions inherited from UAbilityTaskBase
bool IsFinished () const
bool IsPaused () const
UAbilityTaskBase DuplicateTask (UGameplayAbility ToAbility, UObject Outer=nullptr)
bool IsDuplicateOf (const UAbilityTaskBase Other) const
 Returns true if this task was created by duplicating the given one.
void MakeChildOf (UAbilityTaskBase OtherTask)
bool IsActive () const
Public Member Functions inherited from UAngelscriptAbilityTask
void OnDestroy (bool bInOwnerFinished)
void InitSimulatedTask (UGameplayTasksComponent InGameplayTasksComponent)
bool IsWaitingOnAvatar () const
void Activate ()
bool IsWaitingOnRemotePlayerdata () const
void TickTask (float32 DeltaTimeSecs)
void SetWaitingOnAvatar ()
void ClearWaitingOnAvatar ()
void ClearWaitingOnRemotePlayerData ()
UGameplayAbility BP_GetAbility (bool bInOwnerFinished) const
FGameplayAbilitySpecHandle GetAbilitySpecHandle (bool bInOwnerFinished) const
UAbilitySystemComponent GetAbilitySystemComponent ()
bool ShouldBroadcastAbilityTaskDelegates () const
bool IsForRemoteClient () const
bool IsLocallyControlled () const
bool IsPredictingClient () const
UGameplayAbility GetAbility () const
bool GetIsPausable ()
void SetIsPausable (bool bNewState)
void SetIsSimulatedTask (bool bNewState)
void SetAbilitySystemComponent (UAbilitySystemComponent InAbilitySystemComponent)
void SetIsTickingTask (bool bNewState)
void SetWaitingOnRemotePlayerData ()
bool GetIsSimulatedTask ()
bool GetIsSimulating ()
bool GetIsTickingTask ()
Public Member Functions inherited from UGameplayTask
void ReadyForActivation ()
void EndTask ()
 Called explicitly to end the task (usually by the task itself). Calls OnDestroy. Note:: you need to call EndTask before sending out any "on completed" delegates. If you don't the task will still be in an "active" state while the event receivers may assume it's already "finished".
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 UClass StaticClass ()
static UCharacterAIState CreateFromClass (TSubclassOf< UCharacterAIState > Class, UGameplayAbility_CharacterAI OwningAI)
 Instantiates an AIState from class, makes them easier to be used from script if all you have is a class!
Static Public Member Functions inherited from UAbilityTaskCoroutine
static UClass StaticClass ()
Static Public Member Functions inherited from UAbilityTaskGeneric
static UClass StaticClass ()
Static Public Member Functions inherited from UAbilityTaskBase
static UClass StaticClass ()
Static Public Member Functions inherited from UAngelscriptAbilityTask
static UClass StaticClass ()
static UAngelscriptAbilityTask CreateAbilityTaskAndRunIt (TSubclassOf< UAngelscriptAbilityTask > TaskType, UGameplayAbility ThisAbility, FName NewInstanceName=NAME_None)
 This method will both create the task and call ReadyForActivation on it for you immediately.
static UAngelscriptAbilityTask CreateAbilityTask (TSubclassOf< UAngelscriptAbilityTask > TaskType, UGameplayAbility ThisAbility, FName NewInstanceName=NAME_None, UObject Outer=nullptr)
 If you create a task using this function from AS, you must start it manually using ReadyForActivation. This is useful if you want to set up properties on the task before you run it.
Static Public Member Functions inherited from UAbilityTask
static UClass StaticClass ()
Static Public Member Functions inherited from UGameplayTask
static UClass StaticClass ()
Static Public Member Functions inherited from UObject
static UClass StaticClass ()

Public Attributes

CharacterAIState
FGameplayTagContainer OwnedGameplayTags
 Tags that are applied to the character while this state is active.
bool bShouldExitState
 Can be set from outside to signal to this state that it should gracefully end as soon as possible.
bool bSupportsSimulatedSteps
TSubclassOf< UAIAssessmentResponseModule > AssessmentModuleClass
 How to react to certain perception events.
UAIAssessmentResponseModule AssessmentModule
 Only populated when the character is spawned. Created from AssessmentModuleClass.
TSubclassOf< UAIWorldEventExplicit > WorldEventToActivate
 If set, this will start/end the given AIWorldEvent while the state is active.
FName IdleFocusSpotName
 Spot to look at while this AiState is active and the character is standing around.
FGameplayTagContainer GameplayTagEventSubscriptions
 Defines which gameplay events will cause OnGameplayTagEvent() to be called.
TArray< AGothicCharacter > Others
 List of other characters that are relevant to this state.
Variables
const AGothicCharacterState CharacterState
 Persistent state of this character.
const AGothicAIController Controller
 Controller this state belongs to.
const UCharacterAIState CurrentSubstate
 Returns the substate we're waiting for right now. (If there is one).
const AGothicNPCState NPCState
 Persistent state of this character (If this is an NPC).
AGothicCharacter Other
 Other character that is relevant to this state. (If Others contains more than one Character, the first one is returned).
const UCharacterAIState ParentState
 Returns the state that started us as a substate. Nullptr if we are the root state.
const AGothicCharacter Self
 Character this state belongs to.
const TArray< FName > SimulationPreferredLocationLoop
Public Attributes inherited from UAbilityTaskCoroutine
bool bIsHighPriorityBudget
 If true, will enqueue this task into the HighPriority budget system queue. Can be changed dynamically at runtime to affect the next enqueue.
FName BudgetWorkload
 If set, uses the BudgetSystem to continue execution after the coroutine was paused. Can be changed dynamically at runtime to affect the next enqueue.
Public Attributes inherited from UAbilityTaskGeneric
FAbilityTaskEndedAnyResultDelegate__AbilityTaskGeneric OnTaskEnded
 Task ended (always called, no matter what the result is).
EGenericTaskResult TaskResult
 Use EndTaskAsSuccess() or EndTaskAsFailure() or set this before calling EndTask() to signal the end result of this task.
FInGameTime TimeTaskActivated
 Ingame time this task was activated.
const AGothicCharacter AvatarCharacter
 If the avatar is a GothicCharacter, returns it. Nullptr otherwise.
const AGothicCharacterState AvatarCharacterState
 If the avatar is a GothicCharacter, returns its CharacterState. Nullptr otherwise.
const AGothicAIController AvatarAIController
 If the avatar is controlled by an AIController, returns it. Nullptr otherwise.
const AGothicNPCState AvatarNPCState
 If the avatar is a n NPC, returns its NPCState. Nullptr otherwise.
const APlayerController AvatarPlayerController
 If the avatar is controlled by a PlayerController, returns it. Nullptr otherwise.
const FInGameTime InGameTimeNow
 Returns the current InGame-Time (fast-forwarded when the player sleeps).
const FInGameTime RuntimeInGame
 How long this task has been running for (in InGame-time).
const float32 RuntimeSeconds
 How long this task has been running for (in seconds).
const float32 TimeRequestedToSkip
 Returns how many seconds we're supposed to skip.
Public Attributes inherited from UAngelscriptAbilityTask
const UGameplayAbility Ability
 GameplayAbility that created us.
UAbilitySystemComponent AbilitySystemComponent
const bool IsSimulating
bool IsPausable
bool IsSimulatedTask
bool IsTickingTask
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

High-level AI state. These should be used to combine existing tasks to make up a new behavior. For example, one state could be "Do daily routine", another one could be "In Combat".

Each character can only be in one state at a time.

Member Function Documentation

◆ AddDynamicOwnedGameplayTagToOwner()

void AddDynamicOwnedGameplayTagToOwner ( FGameplayTag Tag)

Adds a new OwnedGameplayTag to the owner, but only if this AIState has not added one of these before. It's safe to call multiple times, it won't add more than 1 tag. The tags will be removed automatically once this state ends.

◆ AssessEventFromPerception()

void AssessEventFromPerception ( FRememberedPerception Perception,
FPerceptionShortTermMemory Memory,
FGameplayTag Assess )

Performs an AssessEvent from the given perception.

◆ BindAssessmentToPerception()

void BindAssessmentToPerception ( FPerceptionHandler & PerceptionHandler,
FGameplayTag WhenGained = FGameplayTag :: Empty,
FGameplayTag WhenLost = FGameplayTag :: Empty )

◆ CancelSubStatesOfClass()

int CancelSubStatesOfClass ( TSubclassOf< UCharacterAIState > Class)

Cancels all currently running tasks/substates of the given class. Returns the number of cancelled states.

◆ CreateFromClass()

UCharacterAIState CreateFromClass ( TSubclassOf< UCharacterAIState > Class,
UGameplayAbility_CharacterAI OwningAI )
static

Instantiates an AIState from class, makes them easier to be used from script if all you have is a class!

◆ DebugDrawInWorld()

void DebugDrawInWorld ( ) const

Draws debug information in the world. Use outside PIE possible.

◆ DisplayImGui()

void DisplayImGui ( )

Override to call ImGui:: Functions that are shown in the AIStates debug tool.

◆ DisplayOverheadImGui()

void DisplayOverheadImGui ( )

Override to call ImGui:: Functions that are shown in Overhead box.

◆ DrawStateImGui()

void DrawStateImGui ( )

Draws this states imgui panel, callable from script/BP.

◆ EstimateMovementBoundingBox()

FBox EstimateMovementBoundingBox ( ) const

How far will the character go during this state?

◆ GetCharacterState()

AGothicCharacterState GetCharacterState ( ) const

Persistent state of this character.

◆ GetController()

AGothicAIController GetController ( ) const

Controller this state belongs to.

◆ GetCurrentSubstate()

UCharacterAIState GetCurrentSubstate ( ) const

Returns the substate we're waiting for right now. (If there is one).

◆ GetMoveGoalOffsetFor()

FVector GetMoveGoalOffsetFor ( const AActor TargetActor) const

When following us/going towards us, offset the goal location by the returned value. This is useful for e.g. combat formations, where multiple characters follow a leader.

◆ GetNPCState()

AGothicNPCState GetNPCState ( ) const

Persistent state of this character (If this is an NPC).

◆ GetOther()

AGothicCharacter GetOther ( ) const

Other character that is relevant to this state. (If Others contains more than one Character, the first one is returned).

◆ GetParentState()

UCharacterAIState GetParentState ( ) const

Returns the state that started us as a substate. Nullptr if we are the root state.

◆ GetSelf()

AGothicCharacter GetSelf ( ) const

Character this state belongs to.

◆ GetSimulationPreferredLocationLoop()

TArray< FName > GetSimulationPreferredLocationLoop ( ) const

Return an array with points that should be navigated to during daily routine simulation. Only required when the normal schedule waypoint is too far off.

◆ HandleStateEnded()

void HandleStateEnded ( EGenericTaskResult Result)

Called when this state has ended. (Not if the character got destroyed).

◆ IsInSubStateOfClass()

bool IsInSubStateOfClass ( TSubclassOf< UCharacterAIState > Class)

Returns true, if we're currently waiting for a substate of the given class.

◆ IsSubStateOf()

bool IsSubStateOf ( TSubclassOf< UCharacterAIState > Class)

Returns true, if we're currently being run by a parent state of the given class.

◆ MayDoGracefulExitNow()

bool MayDoGracefulExitNow ( ) const

Override and return true here for extra conditions on when a graceful exit is allowed. Note: Should be used in the states coroutine somewhere in conjunction with bShouldExitState.

◆ OnAnyPerceptionReceived()

void OnAnyPerceptionReceived ( AActor Instigator,
FGameplayTag Tag )

Called when any perception event was triggered.

◆ OnGameplayTagEvent()

void OnGameplayTagEvent ( const FGameplayTag Tag,
FGameplayEventData EventData )

Called when our AbilitySystemComponent received an event with any tag that was put into GameplayTagEventSubscriptions.

◆ OnGracefulExitRequested()

void OnGracefulExitRequested ( )

Called from outside to signal that the state should gracefully end as soon as possible. This allows the proper animations to be played before switching to a different state.

You may also want to prepare for a forced exit via ExternalCancel(), which should end this task immediately.

◆ PrefersGracefulExit()

bool PrefersGracefulExit ( ) const

Override and return true here if this state should do a graceful exit instead of an immediate switch, if possible. Note: Just a hint to external code.

◆ RemoveDynamicOwnedGameplayTagFromOwner()

void RemoveDynamicOwnedGameplayTagFromOwner ( FGameplayTag Tag)

Removes the given tag from the owner, as long as it has been added from this state's AddDynamicOwnedGameplayTagToOwner. This function will not touch Tags that were not added by this AIState. The tags will be removed automatically once this state ends.

◆ ResetWalkSpeed()

void ResetWalkSpeed ( )

This task will no longer override the WalkSpeed but keeps subscription to WalkSpeedModifierComponent.

◆ RestartState()

void RestartState ( )

Lets this state re-start its DoTask()-Coroutine. This can only be used on Script based AIStates!

◆ SetOther()

void SetOther ( AGothicCharacter Other)

Sets the other character that is relevant to this state.

◆ SetupPerceptions()

void SetupPerceptions ( UCharacterPerceptionComponent Perception)

Override this to setup the perception handlers for this state.

◆ SetWalkSpeed()

void SetWalkSpeed ( EWalkSpeed WalkSpeed)

Override WalkSpeed with the EGothicSpeedPriority::CharacterAIState while this task is alive or until user calls ResetWalkSpeed().

◆ ShouldShowTaskInfoInImGui()

bool ShouldShowTaskInfoInImGui ( )

Override decide whether to show the imgui info of the base-class (currently awaited task, etc).

◆ StaticClass()

UClass StaticClass ( )
static

Member Data Documentation

◆ AssessmentModule

UAIAssessmentResponseModule AssessmentModule

Only populated when the character is spawned. Created from AssessmentModuleClass.

◆ AssessmentModuleClass

TSubclassOf<UAIAssessmentResponseModule> AssessmentModuleClass

How to react to certain perception events.

◆ bShouldExitState

bool bShouldExitState

Can be set from outside to signal to this state that it should gracefully end as soon as possible.

◆ bSupportsSimulatedSteps

bool bSupportsSimulatedSteps

◆ CharacterState

const AGothicCharacterState CharacterState

Persistent state of this character.

◆ Controller

const AGothicAIController Controller

Controller this state belongs to.

◆ CurrentSubstate

const UCharacterAIState CurrentSubstate

Returns the substate we're waiting for right now. (If there is one).

◆ GameplayTagEventSubscriptions

FGameplayTagContainer GameplayTagEventSubscriptions

Defines which gameplay events will cause OnGameplayTagEvent() to be called.

◆ IdleFocusSpotName

FName IdleFocusSpotName

Spot to look at while this AiState is active and the character is standing around.

◆ NPCState

const AGothicNPCState NPCState

Persistent state of this character (If this is an NPC).

◆ Other

Other character that is relevant to this state. (If Others contains more than one Character, the first one is returned).

◆ Others

List of other characters that are relevant to this state.

◆ OwnedGameplayTags

FGameplayTagContainer OwnedGameplayTags

Tags that are applied to the character while this state is active.

◆ ParentState

const UCharacterAIState ParentState

Returns the state that started us as a substate. Nullptr if we are the root state.

◆ Self

const AGothicCharacter Self

Character this state belongs to.

◆ SimulationPreferredLocationLoop

const TArray<FName> SimulationPreferredLocationLoop

◆ WorldEventToActivate

TSubclassOf<UAIWorldEventExplicit> WorldEventToActivate

If set, this will start/end the given AIWorldEvent while the state is active.