18 virtual void OnGiveAbility(
const FGameplayAbilityActorInfo* ActorInfo,
const FGameplayAbilitySpec& Spec)
override;
19 virtual void ActivateAbility(
const FGameplayAbilitySpecHandle Handle,
const FGameplayAbilityActorInfo* ActorInfo,
const FGameplayAbilityActivationInfo ActivationInfo,
const FGameplayEventData* TriggerEventData)
override;
20 virtual void EndAbility(
const FGameplayAbilitySpecHandle Handle,
const FGameplayAbilityActorInfo* ActorInfo,
const FGameplayAbilityActivationInfo ActivationInfo,
bool bReplicateEndAbility,
bool bWasCancelled)
override;
22 void SetCharacterCollision(ECollisionResponse InChannel)
const;
26 void OnDashStart(FGameplayEventData Payload);
32 void OnDashFinished();
35 virtual void OnAbilityMontageCompleted()
override;
36 virtual void OnAbilityMontageInterrupted()
override;
37 virtual void OnAbilityMontageCancellable()
override;
40 float GetNormalizedFactor(
const float Duration)
const;
49 UPROPERTY(EditDefaultsOnly, Category = "Dash")
50 TObjectPtr<UCurveFloat> DashProgressCurve;
52 UPROPERTY(EditDefaultsOnly, Category = "Dash", meta = (ClampMin = "0.0"))
53 float DashDistance = 750.0f;
56 FVector DashDirection = FVector::ZeroVector;
57 float TotalCurveIntegral = 0.0f;