Payback 0.0.1
CK Graduation Project
로딩중...
검색중...
일치하는것 없음
EnemyCharacter.h
이 파일의 문서화 페이지로 가기
1// Fill out your copyright notice in the Description page of Project Settings.
2
3#pragma once
4
6#include "EnemyCharacter.generated.h"
7
9class UAbilitySystemComponent;
10class UAnimMontage;
11struct FGameplayTag;
12struct FGameplayEffectSpec;
13struct FActiveGameplayEffectHandle;
14
19UCLASS()
20class CK_UE_API AEnemyCharacter : public AEnemyCharacterBase
21{
22 GENERATED_BODY()
23
24public:
26
27protected:
28 virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override;
29
30public:
31 virtual void ForceReturnToPool(bool bIsSpawnedEnemy = false) override;
32
33public:
34 FORCEINLINE float GetAICombatRadius() const
35 {
36 return AICombatRadius;
37 }
38
39 FORCEINLINE float GetAICombatExitRadius() const
40 {
41 return AICombatExitRadius;
42 }
43
44protected:
45 //~ 초기화
46 virtual void InitializeAttributes() override;
47 virtual void BindCharacterDelegates() override;
48 virtual void UnbindCharacterDelegates() override;
49
50 //~ 풀링
51 // 일반 몬스터 전용 풀링 리셋
52 virtual void OnReturnToPool_Implementation() override;
53
54 //~ 전투 / 사망
55 virtual void OnDeath() override;
56
57 // 히트 리액션
58 virtual UAnimMontage* GetHitReactMontage() const override;
59 virtual void RotateHitSource(const FVector& HitFromLocation) override;
60 virtual void OnHitReactMontageEnded(UAnimMontage* Montage, bool bInterrupted) override;
61
62 //~ HitStun
63 void OnHitStunTagChanged(const FGameplayTag CallbackTag, int32 NewCount) const;
64
65 // GE Apply 콜백
66 void OnAnyGameplayEffectApplied(UAbilitySystemComponent* InASC, const FGameplayEffectSpec& Spec, FActiveGameplayEffectHandle Handle);
67 void TrySendStunEnd() const;
68
69 //~ UI
70 virtual IAbilityBasedWidgetInterface* GetAbilityBasedWidgetInterface() override;
71
72protected:
73 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "UI")
74 TObjectPtr<UGASWidgetComponent> HpBar;
75
76 float AICombatRadius = 0.0f;
77 float AICombatExitRadius = 0.0f;
78
79private:
80 FDelegateHandle HitStunTagDelegateHandle;
81 FDelegateHandle GEAppliedDelegateHandle;
82};
Definition EnemyCharacterBase.h:49
Definition EnemyCharacter.h:21
FORCEINLINE float GetAICombatExitRadius() const
Definition EnemyCharacter.h:39
FORCEINLINE float GetAICombatRadius() const
Definition EnemyCharacter.h:34
Definition AbilityBasedWidgetInterface.h:20
Definition GASWidgetComponent.h:15