// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "AbilitySystem/Abilities/LyraGameplayAbility.h" #include "LyraGameplayAbility_Reset.generated.h" /** * ULyraGameplayAbility_Reset * * Gameplay ability used for handling quickly resetting the player back to initial spawn state. * Ability is activated automatically via the "GameplayEvent.RequestReset" ability trigger tag (server only). */ UCLASS() class LYRAGAME_API ULyraGameplayAbility_Reset : public ULyraGameplayAbility { GENERATED_BODY() public: ULyraGameplayAbility_Reset(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get()); protected: void DoneAddingNativeTags(); virtual void ActivateAbility(const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo* ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, const FGameplayEventData* TriggerEventData) override; }; USTRUCT(BlueprintType) struct FLyraPlayerResetMessage { GENERATED_BODY() UPROPERTY(BlueprintReadOnly) AActor* OwnerPlayerState = nullptr; };