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

42 lines
1.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "GameplayAbilitySpec.h"
#include "LyraGameplayAbility.h"
#include "UObject/UObjectGlobals.h"
#include "LyraGameplayAbility_Jump.generated.h"
class UObject;
struct FFrame;
struct FGameplayAbilityActorInfo;
struct FGameplayTagContainer;
/**
* ULyraGameplayAbility_Jump
*
* Gameplay ability used for character jumping.
*/
UCLASS(Abstract)
class ULyraGameplayAbility_Jump : public ULyraGameplayAbility
{
GENERATED_BODY()
public:
ULyraGameplayAbility_Jump(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get());
protected:
virtual bool CanActivateAbility(const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo* ActorInfo, const FGameplayTagContainer* SourceTags, const FGameplayTagContainer* TargetTags, FGameplayTagContainer* OptionalRelevantTags) const override;
virtual void EndAbility(const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo* ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, bool bReplicateEndAbility, bool bWasCancelled) override;
UFUNCTION(BlueprintCallable, Category = "Lyra|Ability")
void CharacterJumpStart();
UFUNCTION(BlueprintCallable, Category = "Lyra|Ability")
void CharacterJumpStop();
};