46 lines
1.5 KiB
C
46 lines
1.5 KiB
C
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
#include "CoreMinimal.h"
|
||
|
#include "LyraGameplayAbility.h"
|
||
|
#include "LyraGameplayAbility_Death.generated.h"
|
||
|
|
||
|
|
||
|
/**
|
||
|
* 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;
|
||
|
};
|