Payback 0.0.1
CK Graduation Project
로딩중...
검색중...
일치하는것 없음
GA_EnemyAttack.h
이 파일의 문서화 페이지로 가기
1// Fill out your copyright notice in the Description page of Project Settings.
2
3#pragma once
4
6#include "GA_EnemyAttack.generated.h"
7
8class UCharacterMovementComponentBase;
9
13UCLASS()
14class CK_UE_API UGA_EnemyAttack : public UGA_CombatBase
15{
16 GENERATED_BODY()
17
18public:
20
21 virtual void ActivateAbility(const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo* ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, const FGameplayEventData* TriggerEventData) override final;
22 virtual const FGameplayTagContainer* GetCooldownTags() const override;
23 virtual void ApplyCooldown(const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo* ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo) const override;
24 virtual void EndAbility(const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo* ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, bool bReplicateEndAbility, bool bWasCancelled) override;
25
26protected:
27 virtual void ApplyCombatData() override;
28 virtual bool PrepareAttack();
29
30 // 기본값은 true. Projectile이나 전용 Sweep을 사용하는 공격은 false를 반환.
31 virtual bool ShouldSetupHitCheck() const;
32
33 // 적 회전
34 bool BeginAttackRotationLock();
35 void EndAttackRotationLock();
36 void SendStateTreeTag(const FGameplayTag& EventTag) const;
37
38protected:
39 UPROPERTY(Transient)
40 TObjectPtr<UAnimMontage> AttackMontage;
41
42 UPROPERTY(Transient)
43 FGameplayTag CooldownTag;
44
45 UPROPERTY(Transient)
46 float CooldownDuration = 0.0f;
47
48 UPROPERTY(Transient)
49 FGameplayTagContainer TempCooldownTags;
50
51 UPROPERTY(Transient)
52 TObjectPtr<UCharacterMovementComponentBase> AttackRotationComponent;
53
54 bool bAttackStarted = false;
55 bool bAttackRotationLocked = false;
56};
Definition GA_CombatBase.h:22
Definition GA_EnemyAttack.h:15