Payback 0.0.1
CK Graduation Project
로딩중...
검색중...
일치하는것 없음
GA_KnockDown.h
이 파일의 문서화 페이지로 가기
1// Fill out your copyright notice in the Description page of Project Settings.
2
3#pragma once
4
5#include "GAS/GA/GA_Base.h"
6#include "GA_KnockDown.generated.h"
7
8class ACharacter;
9class UAbilityTask_PlayMontageAndWait;
10class UAbilityTask_WaitDelay;
11class UAbilityTask_WaitGameplayEvent;
12class UAnimMontage;
13class UCharacterMovementComponentBase;
14
15
16UCLASS()
17class CK_UE_API UGA_KnockDown : public UGA_Base
18{
19 GENERATED_BODY()
20
21public:
23
24public:
25 virtual void ActivateAbility(const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo* ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, const FGameplayEventData* TriggerEventData) override;
26 virtual void EndAbility(const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo* ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, bool bReplicateEndAbility, bool bWasCancelled) override;
27
28private:
29 bool InitializeKnockdown(ACharacter* Character, const FGameplayEventData* TriggerEventData);
30 bool HasKnockDownMontage();
31 bool HasMontageSections() const;
32 bool SetupKnockdownMotionWarp(ACharacter* Character, const AActor* Instigator) const;
33 void ClearKnockdownTasks();
34
35 UFUNCTION()
36 void OnLoopStarted(FGameplayEventData Payload);
37
38 UFUNCTION()
39 void OnDownDurationFinished();
40
41private:
42 UPROPERTY(Transient)
43 TObjectPtr<UAnimMontage> KnockdownMontage;
44
45 UPROPERTY(Transient)
46 TObjectPtr<UAbilityTask_PlayMontageAndWait> MontageTask;
47
48 UPROPERTY(Transient)
49 TObjectPtr<UAbilityTask_WaitGameplayEvent> LoopEventTask;
50
51 UPROPERTY(Transient)
52 TObjectPtr<UAbilityTask_WaitDelay> DownDurationTask;
53
54 UPROPERTY(Transient)
55 TObjectPtr<UCharacterMovementComponentBase> RotationComponent;
56
57 float AddDownDuration = 0.0f;
58 float KnockDownDistance = 0.0f;
59 bool bManualRotationActive = false;
60};
Definition GA_Base.h:14
Definition GA_KnockDown.h:18