Payback 0.0.1
CK Graduation Project
로딩중...
검색중...
일치하는것 없음
CK_CharacterEnemy.h
이 파일의 문서화 페이지로 가기
1// Fill out your copyright notice in the Description page of Project Settings.
2
3#pragma once
4
5#include "CoreMinimal.h"
8#include "CK_CharacterEnemy.generated.h"
9
10struct FGameplayTag;
18UCLASS()
20{
21 GENERATED_BODY()
22
23public:
25
26 virtual void PostInitializeComponents() override;
27 virtual void BeginPlay() override;
28
29 // 오브젝트 풀링 인터페이스 구현
30 virtual void OnSpawnFromPool_Implementation() override;
31 virtual void OnReturnToPool_Implementation() override;
32
33
34 UFUNCTION()
35 virtual void OnDeath();
36
37 UFUNCTION()
38 void OnDamageTaken(AActor* TargetActor, float DamageAmount, bool bIsCritical);
39
40 virtual void InitializeAttributes() override;
41
42 FORCEINLINE UEnemyAttributeSet* GetEnemyAttributeSet() const { return AttributeSet; }
43
44 UFUNCTION()
45 void OnStunTagChanged(const FGameplayTag CallbackTag, int32 NewCount) const;
46
47protected:
48 virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override;
49 virtual void GiveDefaultAbilities();
50
51protected:
52 UPROPERTY()
53 TObjectPtr<UEnemyAttributeSet> AttributeSet;
54
55 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Data")
56 TObjectPtr<UCharacterControlData> CharacterControlData;
57
58 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "UI")
59 TObjectPtr<UGASWidgetComponent> HpBar;
60
61 UPROPERTY()
62 float DeadEventDelayTime = 5.0f;
63
64 const FEnemyExtendedData* EnemyExtendedData = nullptr;
65
66private:
67 FDelegateHandle StunTagDelegateHandle;
68};
Definition CK_CharacterBase.h:12
Definition CK_CharacterEnemy.h:20
FORCEINLINE UEnemyAttributeSet * GetEnemyAttributeSet() const
Definition CK_CharacterEnemy.h:42
Definition ObjectPoolingInterface.h:18
Definition CharacterControlData.h:67
Definition EnemyAttributeSet.h:11
Definition GASWidgetComponent.h:14
Definition CharacterControlData.h:61