53 lines
1.7 KiB
C++
53 lines
1.7 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "GameplayAbilitySpec.h"
|
|
#include "LyraGameplayAbility.h"
|
|
#include "UObject/UObjectGlobals.h"
|
|
|
|
#include "LyraGameplayAbility_Death.generated.h"
|
|
|
|
class UObject;
|
|
struct FFrame;
|
|
struct FGameplayAbilityActorInfo;
|
|
struct FGameplayEventData;
|
|
|
|
|
|
/**
|
|
* ULyraGameplayAbility_Death
|
|
*
|
|
* Gameplay ability used for handling death.
|
|
* Ability is activated automatically via the "GameplayEvent.Death" ability trigger tag.
|
|
*/
|
|
UCLASS(Abstract)
|
|
class ULyraGameplayAbility_Death : public ULyraGameplayAbility
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
|
|
ULyraGameplayAbility_Death(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get());
|
|
|
|
protected:
|
|
|
|
void DoneAddingNativeTags();
|
|
|
|
virtual void ActivateAbility(const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo* ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, const FGameplayEventData* TriggerEventData) override;
|
|
virtual void EndAbility(const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo* ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, bool bReplicateEndAbility, bool bWasCancelled) override;
|
|
|
|
// Starts the death sequence.
|
|
UFUNCTION(BlueprintCallable, Category = "Lyra|Ability")
|
|
void StartDeath();
|
|
|
|
// Finishes the death sequence.
|
|
UFUNCTION(BlueprintCallable, Category = "Lyra|Ability")
|
|
void FinishDeath();
|
|
|
|
protected:
|
|
|
|
// If enabled, the ability will automatically call StartDeath. FinishDeath is always called when the ability ends if the death was started.
|
|
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Lyra|Death")
|
|
bool bAutoStartDeath;
|
|
};
|