Payback 0.0.1
CK Graduation Project
로딩중...
검색중...
일치하는것 없음
UEnemyAttributeSet 클래스 참조

#include <EnemyAttributeSet.h>

UEnemyAttributeSet에 대한 상속 다이어그램 :
Inheritance graph
UEnemyAttributeSet에 대한 협력 다이어그램:
Collaboration graph

Public 멤버 함수

 UEnemyAttributeSet ()
 
virtual void PreAttributeChange (const FGameplayAttribute &Attribute, float &NewValue) override
 
virtual void PostGameplayEffectExecute (const FGameplayEffectModCallbackData &Data) override
 
void InitEnemyStats (float InAttackRange, float InDropSoul)
 
void InitGroggyStats (float InMaxGroggy, float InGroggyDamageMultiplier)
 
void ApplyGroggyDamage (float GroggyDamage)
 
FORCEINLINE void ResetGroggyDepletedState ()
 
 ATTRIBUTE_ACCESSORS (UEnemyAttributeSet, AttackRange)
 
 ATTRIBUTE_ACCESSORS (UEnemyAttributeSet, VisionRange)
 
 ATTRIBUTE_ACCESSORS (UEnemyAttributeSet, DropSoul)
 
 ATTRIBUTE_ACCESSORS (UEnemyAttributeSet, Groggy)
 
 ATTRIBUTE_ACCESSORS (UEnemyAttributeSet, MaxGroggy)
 
 ATTRIBUTE_ACCESSORS (UEnemyAttributeSet, GroggyDamageMultiplier)
 
 ATTRIBUTE_ACCESSORS (UEnemyAttributeSet, MetaGroggyDamage)
 
- UBaseAttributeSet(으)로부터 상속된 Public 멤버 함수
 UBaseAttributeSet ()
 
virtual void PostGameplayEffectExecute (const struct FGameplayEffectModCallbackData &Data) override
 
void InitBaseStats (float InMaxHealth, float InMoveSpeed, float InAttack, float InAttackSpeed, float InKnockbackResistance=0.0f, float InCooldownMultiplier=1.0f)
 
FDamageResultData GenerateDamageResultData (const struct FGameplayEffectModCallbackData &Data, float LocalDamage, bool bCriticalHit) const
 
 ATTRIBUTE_ACCESSORS (UBaseAttributeSet, Health)
 
 ATTRIBUTE_ACCESSORS (UBaseAttributeSet, MaxHealth)
 
 ATTRIBUTE_ACCESSORS (UBaseAttributeSet, MoveSpeed)
 
 ATTRIBUTE_ACCESSORS (UBaseAttributeSet, Attack)
 
 ATTRIBUTE_ACCESSORS (UBaseAttributeSet, AttackSpeed)
 
 ATTRIBUTE_ACCESSORS (UBaseAttributeSet, KnockbackResistance)
 
 ATTRIBUTE_ACCESSORS (UBaseAttributeSet, Damage)
 
 ATTRIBUTE_ACCESSORS (UBaseAttributeSet, DamageIsCritical)
 
 ATTRIBUTE_ACCESSORS (UBaseAttributeSet, CooldownMultiplier)
 
FORCEINLINE bool IsOutOfHealth () const
 

Public 속성

FOnGroggyDepletedDelegate OnGroggyDepleted
 
- UBaseAttributeSet(으)로부터 상속된 Public 속성
FDeathDelegate OnDeathDelegate
 
FOnDamageTakenDelegate OnDamageDelegate
 

Protected 속성

bool bGroggyDepleted = false
 
FGameplayAttributeData AttackRange
 
FGameplayAttributeData VisionRange
 
FGameplayAttributeData DropSoul
 
FGameplayAttributeData Groggy
 
FGameplayAttributeData MaxGroggy
 
FGameplayAttributeData GroggyDamageMultiplier
 
FGameplayAttributeData MetaGroggyDamage
 
- UBaseAttributeSet(으)로부터 상속된 Protected 속성
bool bOutOfHealth = false
 
FGameplayAttributeData Health
 
FGameplayAttributeData MaxHealth
 
FGameplayAttributeData MoveSpeed
 
FGameplayAttributeData Attack
 
FGameplayAttributeData AttackSpeed
 
FGameplayAttributeData KnockbackResistance
 
FGameplayAttributeData CooldownMultiplier
 
FGameplayAttributeData Damage
 
FGameplayAttributeData DamageIsCritical
 

생성자 & 소멸자 문서화

◆ UEnemyAttributeSet()

UEnemyAttributeSet::UEnemyAttributeSet ( )
10 :
11 AttackRange(0.0f),
12 VisionRange(0.0f),
13 DropSoul(0.0f),
14 Groggy(0.0f),
15 MaxGroggy(0.0f),
18{
19}
FGameplayAttributeData GroggyDamageMultiplier
Definition EnemyAttributeSet.h:58
FGameplayAttributeData MaxGroggy
Definition EnemyAttributeSet.h:55
FGameplayAttributeData AttackRange
Definition EnemyAttributeSet.h:43
FGameplayAttributeData DropSoul
Definition EnemyAttributeSet.h:49
FGameplayAttributeData VisionRange
Definition EnemyAttributeSet.h:46
FGameplayAttributeData Groggy
Definition EnemyAttributeSet.h:52
FGameplayAttributeData MetaGroggyDamage
Definition EnemyAttributeSet.h:61

멤버 함수 문서화

◆ ApplyGroggyDamage()

void UEnemyAttributeSet::ApplyGroggyDamage ( float  GroggyDamage)
86{
87 if (bGroggyDepleted || GroggyDamage <= 0.0f || GetMaxGroggy() <= KINDA_SMALL_NUMBER)
88 {
89 return;
90 }
91
92 SetGroggy(FMath::Clamp(GetGroggy() - GroggyDamage, 0.0f, GetMaxGroggy()));
93
94 if (GetGroggy() <= KINDA_SMALL_NUMBER && bGroggyDepleted == false)
95 {
96 bGroggyDepleted = true;
97 OnGroggyDepleted.Broadcast();
98 }
99}
bool bGroggyDepleted
Definition EnemyAttributeSet.h:40
FOnGroggyDepletedDelegate OnGroggyDepleted
Definition EnemyAttributeSet.h:37
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ ATTRIBUTE_ACCESSORS() [1/7]

UEnemyAttributeSet::ATTRIBUTE_ACCESSORS ( UEnemyAttributeSet  ,
AttackRange   
)

◆ ATTRIBUTE_ACCESSORS() [2/7]

UEnemyAttributeSet::ATTRIBUTE_ACCESSORS ( UEnemyAttributeSet  ,
DropSoul   
)

◆ ATTRIBUTE_ACCESSORS() [3/7]

UEnemyAttributeSet::ATTRIBUTE_ACCESSORS ( UEnemyAttributeSet  ,
Groggy   
)

◆ ATTRIBUTE_ACCESSORS() [4/7]

UEnemyAttributeSet::ATTRIBUTE_ACCESSORS ( UEnemyAttributeSet  ,
GroggyDamageMultiplier   
)

◆ ATTRIBUTE_ACCESSORS() [5/7]

UEnemyAttributeSet::ATTRIBUTE_ACCESSORS ( UEnemyAttributeSet  ,
MaxGroggy   
)

◆ ATTRIBUTE_ACCESSORS() [6/7]

UEnemyAttributeSet::ATTRIBUTE_ACCESSORS ( UEnemyAttributeSet  ,
MetaGroggyDamage   
)

◆ ATTRIBUTE_ACCESSORS() [7/7]

UEnemyAttributeSet::ATTRIBUTE_ACCESSORS ( UEnemyAttributeSet  ,
VisionRange   
)

◆ InitEnemyStats()

void UEnemyAttributeSet::InitEnemyStats ( float  InAttackRange,
float  InDropSoul 
)
68{
69 InitAttackRange(InAttackRange);
70 InitDropSoul(InDropSoul);
71}

◆ InitGroggyStats()

void UEnemyAttributeSet::InitGroggyStats ( float  InMaxGroggy,
float  InGroggyDamageMultiplier 
)
74{
75 const float ClampedMaxGroggy = FMath::Max(InMaxGroggy, 0.0f);
76
77 bGroggyDepleted = false;
78
79 InitMaxGroggy(ClampedMaxGroggy);
80 InitGroggy(ClampedMaxGroggy);
81 InitGroggyDamageMultiplier(FMath::Max(InGroggyDamageMultiplier, 0.0f));
82 InitMetaGroggyDamage(0.0f);
83}

◆ PostGameplayEffectExecute()

void UEnemyAttributeSet::PostGameplayEffectExecute ( const FGameplayEffectModCallbackData &  Data)
overridevirtual
44{
45 if (Data.EvaluatedData.Attribute == GetDamageAttribute())
46 {
47 if (UAbilitySystemComponent* ASC = GetOwningAbilitySystemComponent())
48 {
49 if (ASC->HasMatchingGameplayTag(TAG_CHARACTER_STATE_ISGROGGY))
50 {
51 const float ModifiedDamage = FMath::CeilToFloat(GetDamage() * GetGroggyDamageMultiplier());
52 SetDamage(ModifiedDamage);
53 }
54 }
55 }
56 else if (Data.EvaluatedData.Attribute == GetMetaGroggyDamageAttribute())
57 {
58 ApplyGroggyDamage(GetMetaGroggyDamage());
59
60 SetMetaGroggyDamage(0.0f);
61 }
62
63 Super::PostGameplayEffectExecute(Data);
64}
void ApplyGroggyDamage(float GroggyDamage)
Definition EnemyAttributeSet.cpp:85
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ PreAttributeChange()

void UEnemyAttributeSet::PreAttributeChange ( const FGameplayAttribute &  Attribute,
float &  NewValue 
)
overridevirtual

UBaseAttributeSet(으)로부터 재구현되었습니다.

22{
23 Super::PreAttributeChange(Attribute, NewValue);
24
25 if (Attribute == GetGroggyAttribute())
26 {
27 NewValue = FMath::Clamp(NewValue, 0.0f, GetMaxGroggy());
28 return;
29 }
30
31 if (Attribute == GetMaxGroggyAttribute())
32 {
33 NewValue = FMath::Max(NewValue, 0.0f);
34 return;
35 }
36
37 if (Attribute == GetMetaGroggyDamageAttribute())
38 {
39 NewValue = FMath::Max(NewValue, 0.0f);
40 }
41}

◆ ResetGroggyDepletedState()

FORCEINLINE void UEnemyAttributeSet::ResetGroggyDepletedState ( )
inline
25{ bGroggyDepleted = false; }

멤버 데이터 문서화

◆ AttackRange

FGameplayAttributeData UEnemyAttributeSet::AttackRange
protected

◆ bGroggyDepleted

bool UEnemyAttributeSet::bGroggyDepleted = false
protected

◆ DropSoul

FGameplayAttributeData UEnemyAttributeSet::DropSoul
protected

◆ Groggy

FGameplayAttributeData UEnemyAttributeSet::Groggy
protected

◆ GroggyDamageMultiplier

FGameplayAttributeData UEnemyAttributeSet::GroggyDamageMultiplier
protected

◆ MaxGroggy

FGameplayAttributeData UEnemyAttributeSet::MaxGroggy
protected

◆ MetaGroggyDamage

FGameplayAttributeData UEnemyAttributeSet::MetaGroggyDamage
protected

◆ OnGroggyDepleted

FOnGroggyDepletedDelegate UEnemyAttributeSet::OnGroggyDepleted

◆ VisionRange

FGameplayAttributeData UEnemyAttributeSet::VisionRange
protected

이 클래스에 대한 문서화 페이지는 다음의 파일들로부터 생성되었습니다.: