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

#include <GA_BossSectionPattern.h>

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

Public 멤버 함수

virtual void EndAbility (const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo *ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, bool bReplicateEndAbility, bool bWasCancelled) override
 
- UGA_EnemyAttack(으)로부터 상속된 Public 멤버 함수
 UGA_EnemyAttack ()
 
virtual void ActivateAbility (const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo *ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, const FGameplayEventData *TriggerEventData) override final
 
virtual const FGameplayTagContainer * GetCooldownTags () const override
 
virtual void ApplyCooldown (const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo *ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo) const override
 
- UGA_CombatBase(으)로부터 상속된 Public 멤버 함수
virtual void OnGiveAbility (const FGameplayAbilityActorInfo *ActorInfo, const FGameplayAbilitySpec &Spec) override
 
- UGA_Base(으)로부터 상속된 Public 멤버 함수
 UGA_Base ()
 

Protected 멤버 함수

virtual void ApplyCombatData () override
 
virtual bool PrepareAttack () override
 
virtual TOptional< FTransform > GetTraceTransformForHitCheck () const override
 
void OnLoopStart (FGameplayEventData PayLoad)
 
void OnLoopFinished ()
 
void OverrideTraceTransform ()
 
TOptional< FTransform > BuildTraceTransform () const
 
float GetWarningRadius () const
 
void StartWarningDecal ()
 
void StopWarningDecal ()
 
- UGA_EnemyAttack(으)로부터 상속된 Protected 멤버 함수
virtual bool ShouldSetupHitCheck () const
 
bool BeginAttackRotationLock ()
 
void EndAttackRotationLock ()
 
void SendStateTreeTag (const FGameplayTag &EventTag) const
 
- UGA_CombatBase(으)로부터 상속된 Protected 멤버 함수
void SetupHitCheckListener ()
 
void OnHitCheckStart (FGameplayEventData Payload)
 
void OnHitCheckEnd (FGameplayEventData Payload)
 
void OnTraceResultCallback (const FGameplayAbilityTargetDataHandle &TargetDataHandle, float CombatDataLevel, int32 CombatHitDataIndex)
 
void OnFinisherResultCallback (const FGameplayAbilityTargetDataHandle &TargetDataHandle, float CombatDataLevel, int32 CombatHitDataIndex)
 
void ApplyEffectsToSelf (const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo *ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo)
 
FCombatHitPayload BuildCombatHitPayload (const FCombatHitData &HitData, float DamageMultiplier, bool bRequestKnockback)
 
TArray< FGameplayEffectSpecHandle > BuildCombatEffectSpecs (const FCombatHitData &HitData, float DamageMultiplier)
 
FGameplayEffectSpecHandle BuildEffectSpec (const FCombatEffectData &EffectData, float CombatDataLevel)
 
void PlayCombatHitAudio (const FVector &HitLocation)
 
void CacheAudioTagComponents ()
 
const FKnockbackDataFindKnockbackData (const FCombatHitData &HitData) const
 
void NotifyCameraHitConfirmed () const
 
float GetAttackSpeedRate () const
 
void UpdateAttackWarpTargetForRange (FName WarpTargetName=FName("Target"))
 
void UpdateAttackWarpTargetForRange (FName WarpTargetName, ITargetableInterface *Target)
 
- UGA_Base(으)로부터 상속된 Protected 멤버 함수
UCharacterMotionWarpingComponentBase * GetMotionWarpingComponent () const
 
void SetupCancelableListener ()
 
void OnCancelableInputDetected (FGameplayEventData Payload)
 
virtual void HandleCancelable (FGameplayEventData Payload)
 
virtual void OnAbilityMontageCompleted ()
 
virtual void OnAbilityMontageInterrupted ()
 
virtual void OnAbilityMontageCancellable ()
 

Protected 속성

FBossSectionPatternData PatternData
 
uint8 bLoopStarted: 1 = false
 
uint8 bHasCachedTraceTransform: 1 = false
 
FTransform CachedTraceTransform = FTransform::Identity
 
TObjectPtr< UAbilityTask_WaitGameplayEvent > LoopStartTask
 
TObjectPtr< UAbilityTask_WaitDelay > WarningDelayTask
 
- UGA_EnemyAttack(으)로부터 상속된 Protected 속성
TObjectPtr< UAnimMontage > AttackMontage
 
FGameplayTag CooldownTag
 
float CooldownDuration = 0.0f
 
FGameplayTagContainer TempCooldownTags
 
TObjectPtr< UCharacterMovementComponentBase > AttackRotationComponent
 
bool bAttackStarted = false
 
bool bAttackRotationLocked = false
 
- UGA_CombatBase(으)로부터 상속된 Protected 속성
TObjectPtr< UCombatDataBaseCombatData
 
float AttackRange = 450.0f
 
float AttackRangeCorrectionDistance = 250.0f
 
float AttackRangeCorrectionInnerOffset = 30.0f
 
TObjectPtr< UAT_TraceActiveTraceTask
 
TArray< TSubclassOf< UGameplayEffect > > SelfEffectClasses
 
FGameplayTag WeaponHitCueTag
 
TArray< TObjectPtr< UAudioEmitterComponent > > CachedAudioTagComponents
 

멤버 함수 문서화

◆ ApplyCombatData()

void UGA_BossSectionPattern::ApplyCombatData ( )
overrideprotectedvirtual

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

28{
29 Super::ApplyCombatData();
30
31 if (IsValid(CombatData) == false)
32 {
33 return;
34 }
35
36 if (const FBossSectionPatternData* BossPatternData = CombatData->FindExtendedData<FBossSectionPatternData>())
37 {
38 PatternData = *BossPatternData;
39 }
40}
FBossSectionPatternData PatternData
Definition GA_BossSectionPattern.h:44
TObjectPtr< UCombatDataBase > CombatData
Definition GA_CombatBase.h:75
Definition ExtendedDatas.h:164

◆ BuildTraceTransform()

TOptional< FTransform > UGA_BossSectionPattern::BuildTraceTransform ( ) const
protected
119{
120 AActor* AvatarActor = GetAvatarActorFromActorInfo();
121 if (AvatarActor == nullptr)
122 {
123 return TOptional<FTransform>();
124 }
125
126 const FTransform AvatarTransform = AvatarActor->GetActorTransform();
127 const FVector TraceLocation = AvatarTransform.TransformPosition(PatternData.TraceTransformLocalOffset);
128 return FTransform(AvatarTransform.GetRotation(), TraceLocation, AvatarTransform.GetScale3D());
129}
FVector TraceTransformLocalOffset
Definition ExtendedDatas.h:175
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ EndAbility()

void UGA_BossSectionPattern::EndAbility ( const FGameplayAbilitySpecHandle  Handle,
const FGameplayAbilityActorInfo *  ActorInfo,
const FGameplayAbilityActivationInfo  ActivationInfo,
bool  bReplicateEndAbility,
bool  bWasCancelled 
)
overridevirtual

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

15{
16 LoopStartTask = nullptr;
17 WarningDelayTask = nullptr;
19
20 bLoopStarted = false;
22 CachedTraceTransform = FTransform::Identity;
23
24 Super::EndAbility(Handle, ActorInfo, ActivationInfo, bReplicateEndAbility, bWasCancelled);
25}
void StopWarningDecal()
Definition GA_BossSectionPattern.cpp:178
TObjectPtr< UAbilityTask_WaitGameplayEvent > LoopStartTask
Definition GA_BossSectionPattern.h:56
uint8 bLoopStarted
Definition GA_BossSectionPattern.h:47
uint8 bHasCachedTraceTransform
Definition GA_BossSectionPattern.h:50
TObjectPtr< UAbilityTask_WaitDelay > WarningDelayTask
Definition GA_BossSectionPattern.h:59
FTransform CachedTraceTransform
Definition GA_BossSectionPattern.h:53
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ GetTraceTransformForHitCheck()

TOptional< FTransform > UGA_BossSectionPattern::GetTraceTransformForHitCheck ( ) const
overrideprotectedvirtual

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

67{
68 if (bHasCachedTraceTransform == false)
69 {
70 return TOptional<FTransform>();
71 }
72
74}

◆ GetWarningRadius()

float UGA_BossSectionPattern::GetWarningRadius ( ) const
protected
155{
156 if (IsValid(CombatData) == false)
157 {
158 return 0.0f;
159 }
160
161 const FCombatHitData* WarningHitData = CombatData->FindCombatHitData(PatternData.WarningDecalDataIndex);
162 if (WarningHitData == nullptr)
163 {
164 LOG_ERROR(LogCKAbility, "보스 패턴 데칼 범위에 사용할 CombatHitData가 비어 있음.");
165 return 0.0f;
166 }
167
168 const ATA_CapsuleOverlap* CapsuleTrace = Cast<ATA_CapsuleOverlap>(CombatData->HitTraceClass.GetDefaultObject());
169 if (IsValid(CapsuleTrace) == false)
170 {
171 LOG_ERROR(LogCKAbility, "Boss Section Pattern의 HitTraceClass가 CapsuleOverlap이 아닙니다.");
172 return 0.0f;
173 }
174
175 return CapsuleTrace->GetTraceRadiusAtLevel(WarningHitData->GetCombatDataLevel());
176}
#define LOG_ERROR(Category, Format,...)
Definition CK_UE.h:40
Definition TA_CapsuleOverlap.h:12
FORCEINLINE float GetTraceRadiusAtLevel(const float InCombatDataLevel) const
Definition TA_CapsuleOverlap.h:18
int32 WarningDecalDataIndex
Definition ExtendedDatas.h:181
Definition CombatDataBase.h:64
FORCEINLINE float GetCombatDataLevel() const
Definition CombatDataBase.h:68
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ OnLoopFinished()

void UGA_BossSectionPattern::OnLoopFinished ( )
protected
97{
100 SendStateTreeTag(TAG_STATETREE_EVENT_BOSS_SECTIONPATTERN_ENDSTART);
101
102 MontageJumpToSection(PatternData.EndSectionName);
103}
void OverrideTraceTransform()
Definition GA_BossSectionPattern.cpp:105
void SendStateTreeTag(const FGameplayTag &EventTag) const
Definition GA_EnemyAttack.cpp:185
FName EndSectionName
Definition ExtendedDatas.h:169
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ OnLoopStart()

void UGA_BossSectionPattern::OnLoopStart ( FGameplayEventData  PayLoad)
protected
77{
78 (void)PayLoad;
79
80 if (bLoopStarted)
81 {
82 return;
83 }
84
85 bLoopStarted = true;
87
88 WarningDelayTask = UAbilityTask_WaitDelay::WaitDelay(this, PatternData.WarningDuration);
90 {
91 WarningDelayTask->OnFinish.AddDynamic(this, &ThisClass::OnLoopFinished);
92 WarningDelayTask->ReadyForActivation();
93 }
94}
void StartWarningDecal()
Definition GA_BossSectionPattern.cpp:131
float WarningDuration
Definition ExtendedDatas.h:178
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ OverrideTraceTransform()

void UGA_BossSectionPattern::OverrideTraceTransform ( )
protected
106{
107 const TOptional<FTransform> TraceTransform = BuildTraceTransform();
108 if (TraceTransform.IsSet() == false)
109 {
111 return;
112 }
113
114 CachedTraceTransform = TraceTransform.GetValue();
116}
TOptional< FTransform > BuildTraceTransform() const
Definition GA_BossSectionPattern.cpp:118
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ PrepareAttack()

bool UGA_BossSectionPattern::PrepareAttack ( )
overrideprotectedvirtual

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

43{
44 bLoopStarted = false;
46 CachedTraceTransform = FTransform::Identity;
47
48 if (PatternData.LoopStartEventTag.IsValid() == false)
49 {
50 LOG_ERROR(LogCKAbility, "Boss Pattern LoopStart EventTag가 유효하지 않습니다. CombatData = %s", *GetNameSafe(CombatData));
51 return false;
52 }
53
54 LoopStartTask = UAbilityTask_WaitGameplayEvent::WaitGameplayEvent(this, PatternData.LoopStartEventTag, nullptr, false, false);
55 if (IsValid(LoopStartTask) == false)
56 {
57 LOG_ERROR(LogCKAbility, "Boss Pattern LoopStart Event Task 생성에 실패했습니다.");
58 return false;
59 }
60
61 LoopStartTask->EventReceived.AddDynamic(this, &ThisClass::OnLoopStart);
62 LoopStartTask->ReadyForActivation();
63 return true;
64}
FGameplayTag LoopStartEventTag
Definition ExtendedDatas.h:172

◆ StartWarningDecal()

void UGA_BossSectionPattern::StartWarningDecal ( )
protected
132{
133 const float WarningRadius = GetWarningRadius();
134 if (WarningRadius <= KINDA_SMALL_NUMBER)
135 {
136 return;
137 }
138
139 AActor* AvatarActor = GetAvatarActorFromActorInfo();
140 if (AvatarActor == nullptr)
141 {
142 return;
143 }
144
145 UPatternWarningDecalComponent* WarningDecalComponent = AvatarActor->FindComponentByClass<UPatternWarningDecalComponent>();
146 if (WarningDecalComponent == nullptr)
147 {
148 return;
149 }
150
151 WarningDecalComponent->StartCircleWarningAttached(PatternData.TraceTransformLocalOffset, PatternData.WarningDuration, WarningRadius, PatternData.WarningDecalSettings);
152}
float GetWarningRadius() const
Definition GA_BossSectionPattern.cpp:154
FPatternWarningDecalSettings WarningDecalSettings
Definition ExtendedDatas.h:184
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ StopWarningDecal()

void UGA_BossSectionPattern::StopWarningDecal ( )
protected
179{
180 AActor* AvatarActor = GetAvatarActorFromActorInfo();
181 if (AvatarActor == nullptr)
182 {
183 return;
184 }
185
186 UPatternWarningDecalComponent* WarningDecalComponent = AvatarActor->FindComponentByClass<UPatternWarningDecalComponent>();
187 if (WarningDecalComponent == nullptr)
188 {
189 return;
190 }
191
192 WarningDecalComponent->StopWarning();
193}
이 함수를 호출하는 함수들에 대한 그래프입니다.:

멤버 데이터 문서화

◆ bHasCachedTraceTransform

uint8 UGA_BossSectionPattern::bHasCachedTraceTransform
protected

◆ bLoopStarted

uint8 UGA_BossSectionPattern::bLoopStarted
protected

◆ CachedTraceTransform

FTransform UGA_BossSectionPattern::CachedTraceTransform = FTransform::Identity
protected

◆ LoopStartTask

TObjectPtr<UAbilityTask_WaitGameplayEvent> UGA_BossSectionPattern::LoopStartTask
protected

◆ PatternData

FBossSectionPatternData UGA_BossSectionPattern::PatternData
protected

◆ WarningDelayTask

TObjectPtr<UAbilityTask_WaitDelay> UGA_BossSectionPattern::WarningDelayTask
protected

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