Navigation
API > API/Plugins > API/Plugins/GameplayAbilities
An ability state is simply an ability task that provides a way to handle the ability being interrupted. You can use ability states to do state-specific cleanup if the ability ends or was interrupted at a certain point during it's execution.
An ability state will always result in either 'OnStateEnded' or 'OnStateInterrupted' being called.
'OnStateEnded' will be called if:
- The ability itself ends via AGameplayAbility::EndAbility
- The ability state is manually ended via AGameplayAbility::EndAbilityState
- Another ability state is started will 'bEndCurrentState' set to true
'OnStateInterrupted' will be called if:
- The ability itself is cancelled via AGameplayAbility::CancelAbility
| Name | UAbilityTask_StartAbilityState |
| Type | class |
| Header File | /Engine/Plugins/Runtime/GameplayAbilities/Source/GameplayAbilities/Public/Abilities/Tasks/AbilityTask_StartAbilityState.h |
| Include Path | #include "Abilities/Tasks/AbilityTask_StartAbilityState.h" |
Syntax
UCLASS (MinimalAPI)
class UAbilityTask_StartAbilityState : public UAbilityTask
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UGameplayTask → UAbilityTask → UAbilityTask_StartAbilityState
Implements Interfaces
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UAbilityTask_StartAbilityState
(
const FObjectInitializer& ObjectInitializer |
Abilities/Tasks/AbilityTask_StartAbilityState.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| OnStateEnded | FAbilityStateDelegate | Invoked if 'EndAbilityState' is called or if 'EndAbility' is called and this state is active. | Abilities/Tasks/AbilityTask_StartAbilityState.h |
|
| OnStateInterrupted | FAbilityStateDelegate | Invoked if the ability was interrupted and this state is active. | Abilities/Tasks/AbilityTask_StartAbilityState.h |
|
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bEndCurrentState | bool | Abilities/Tasks/AbilityTask_StartAbilityState.h | ||
| bWasEnded | bool | Abilities/Tasks/AbilityTask_StartAbilityState.h | ||
| bWasInterrupted | bool | Abilities/Tasks/AbilityTask_StartAbilityState.h | ||
| EndStateHandle | FDelegateHandle | Abilities/Tasks/AbilityTask_StartAbilityState.h | ||
| InterruptStateHandle | FDelegateHandle | Abilities/Tasks/AbilityTask_StartAbilityState.h |
Functions
Public
Overridden from UGameplayTask
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void Activate() |
Abilities/Tasks/AbilityTask_StartAbilityState.h | ||
virtual void ExternalCancel() |
Abilities/Tasks/AbilityTask_StartAbilityState.h | ||
virtual FString GetDebugString() |
Abilities/Tasks/AbilityTask_StartAbilityState.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static UAbilityTask_StartAbilityState * StartAbilityState
(
UGameplayAbility* OwningAbility, |
Starts a new ability state. | Abilities/Tasks/AbilityTask_StartAbilityState.h |
|