18{
19 Super::ActivateAbility(Handle, ActorInfo, ActivationInfo, TriggerEventData);
20
21 if (!CommitAbility(Handle, ActorInfo, ActivationInfo))
22 {
23 EndAbility(Handle, ActorInfo, ActivationInfo,
true,
true);
24 return;
25 }
26
28 {
29 EndAbility(Handle, ActorInfo, ActivationInfo,
true,
true);
30 return;
31 }
32
35
36 if (UAbilityTask_PlayMontageAndWait* MontageTask = UAbilityTask_PlayMontageAndWait::CreatePlayMontageAndWaitProxy(
this, TEXT(
"DashMontage"),
DashMontage, 1.0f))
37 {
38 MontageTask->OnCompleted.AddDynamic(this, &ThisClass::OnDashFinished);
39 MontageTask->OnInterrupted.AddDynamic(this, &ThisClass::OnDashFinished);
40 MontageTask->OnCancelled.AddDynamic(this, &ThisClass::OnDashFinished);
41
42 MontageTask->ReadyForActivation();
43 }
44}
void RotateCharacterToCursor()
Definition GA_Base.cpp:58
virtual void EndAbility(const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo *ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, bool bReplicateEndAbility, bool bWasCancelled) override
Definition GA_Dash.cpp:51
TObjectPtr< class UAnimMontage > DashMontage
Definition GA_Dash.h:28
void SetCharacterCollision(ECollisionResponse InChannel) const
Definition GA_Dash.cpp:61