document.write("
#pragma once
#include "CoreMinimal.h"
#include "Dandelion/Sandbox/Abilities/InputActionGameplayAbility.h"
#include "IAGA_PlayerMove.generated.h"
namespace EPathFollowingResult
{
enum Type : int;
}
class UAbilityTask_MoveCharacterToCursor;
class UAbilityTask_FollowCursor;
UCLASS()
class DANDELION_API UIAGA_PlayerMove : public UInputActionGameplayAbility
{
GENERATED_BODY()
UIAGA_PlayerMove();
virtual bool CanRestartAbility(
const FGameplayAbilitySpecHandle Handle,
const FGameplayAbilityActorInfo* ActorInfo,
const FGameplayAbilityActivationInfo& ActivationInfo
) override;
protected:
virtual void ActivateAbility(
const FGameplayAbilitySpecHandle Handle,
const FGameplayAbilityActorInfo* ActorInfo,
const FGameplayAbilityActivationInfo ActivationInfo,
const FGameplayEventData* TriggerEventData
) override;
virtual void CancelAbility(
const FGameplayAbilitySpecHandle Handle,
const FGameplayAbilityActorInfo* ActorInfo,
const FGameplayAbilityActivationInfo ActivationInfo,
bool bReplicateCancelAbility
) override;
virtual void EndAbility(
const FGameplayAbilitySpecHandle Handle,
const FGameplayAbilityActorInfo* ActorInfo,
const FGameplayAbilityActivationInfo ActivationInfo,
bool bReplicateEndAbility,
bool bWasCancelled
) override;
virtual void HandleInputReleased_Implementation(
const FGameplayAbilitySpecHandle& Handle,
const FGameplayAbilityActorInfo& ActorInfo,
const FGameplayAbilityActivationInfo& ActivationInfo
) override;
private:
UPROPERTY(
EditDefaultsOnly,
DisplayName="Move VFX Cue Tag",
meta=(AllowPrivateAccess=true, Categories="GameplayCue.VFX")
)
FGameplayTag MoveVFXCueTag;
UPROPERTY(Transient)
TObjectPtr<UAbilityTask_FollowCursor> FollowCursorAbilityTask;
UPROPERTY(Transient)
TObjectPtr<UAbilityTask_MoveCharacterToCursor> MoveCharacterToCursorAbilityTask;
UFUNCTION(meta=(BlueprintInternalUseOnly))
void HandleOnMoveComplete(EPathFollowingResult::Type PathingResultType);
};
IAGA_PlayerMove.h - Snippet hosted by \"Cacher\"
");