24 virtual void OnGiveAbility(
const FGameplayAbilityActorInfo* ActorInfo,
const FGameplayAbilitySpec& Spec)
override;
25 virtual void EndAbility(
const FGameplayAbilitySpecHandle Handle,
const FGameplayAbilityActorInfo* ActorInfo,
const FGameplayAbilityActivationInfo ActivationInfo,
bool bReplicateEndAbility,
bool bWasCancelled)
override;
30 virtual void ApplyCombatData();
33 void SetupHitCheckListeners();
36 void SetupSingleHitCheckListener();
39 void OnHitCheckStart(FGameplayEventData Payload);
42 void OnHitCheckEnd(FGameplayEventData Payload);
45 void OnSingleHitCheck(FGameplayEventData Payload);
48 void OnTraceResultCallback(const FGameplayAbilityTargetDataHandle& TargetDataHandle,
float CurrentLevel);
50 void GetValidTargets(const FGameplayAbilityTargetDataHandle& TargetDataHandle,TArray<AActor*>& OutValidActors) const;
52 void ApplyEffectsToTargets(const TArray<AActor*>& TargetActors,
float CurrentLevel);
55 void ApplyKnockbackToTargets(const TArray<AActor*>& TargetActors, AActor* Attacker);
58 void ApplyGlobalHitStop();
60 FORCEINLINE
void SetHitStopEnabled(
bool bEnable) {
bApplyHitStop = bEnable; }
64 void RestoreTimeDilation();
67 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Data")
110 FTimerHandle HitStopTimerHandle;