RealtimeStyleTransferRuntime/Source/LyraGame/AbilitySystem/Abilities/LyraGameplayAbility_Death.h

46 lines
1.5 KiB
C
Raw Normal View History

2022-05-23 18:41:30 +00:00
// 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;
};