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

#include <GA_Attack.h>

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

Public 멤버 함수

 UGA_Attack ()
 
virtual void ActivateAbility (const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo *ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, const FGameplayEventData *TriggerEventData) override
 
virtual void InputPressed (const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo *ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo) override
 
virtual void CancelAbility (const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo *ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, bool bReplicateCancelAbility) override
 
virtual void EndAbility (const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo *ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, bool bReplicateEndAbility, bool bWasCancelled) override
 
- UGA_CombatBase(으)로부터 상속된 Public 멤버 함수
 UGA_CombatBase ()
 
virtual void OnGiveAbility (const FGameplayAbilityActorInfo *ActorInfo, const FGameplayAbilitySpec &Spec) override
 
FORCEINLINE bool GetHitStopEnable () const
 
- UGA_Base(으)로부터 상속된 Public 멤버 함수
 UGA_Base ()
 

Protected 멤버 함수

virtual void ApplyCombatData () override
 
void OnCompleteCallback ()
 
void OnInterruptedCallback ()
 
FName GetNextSection ()
 
void StartComboTimer ()
 
void CheckComboInput ()
 
- UGA_CombatBase(으)로부터 상속된 Protected 멤버 함수
void SetupHitCheckListeners ()
 
void SetupSingleHitCheckListener ()
 
void OnHitCheckStart (FGameplayEventData Payload)
 
void OnHitCheckEnd (FGameplayEventData Payload)
 
void OnSingleHitCheck (FGameplayEventData Payload)
 
void OnTraceResultCallback (const FGameplayAbilityTargetDataHandle &TargetDataHandle, float CurrentLevel)
 
void GetValidTargets (const FGameplayAbilityTargetDataHandle &TargetDataHandle, TArray< AActor * > &OutValidActors) const
 
void ApplyEffectsToTargets (const TArray< AActor * > &TargetActors, float CurrentLevel)
 
void ApplyKnockbackToTargets (const TArray< AActor * > &TargetActors, AActor *Attacker)
 
void ApplyGlobalHitStop ()
 
FORCEINLINE void SetHitStopEnabled (bool bEnable)
 
- UGA_Base(으)로부터 상속된 Protected 멤버 함수
bool GetCursorData (FVector &TargetPos, FRotator &TargetRot) const
 
void MotionWarpTargetToCursor (FName WarpTargetName=FName("Target"))
 
void RotateCharacterToCursor ()
 

Protected 속성

TObjectPtr< class UComboActionDataCurrentComboData
 
uint8 CurrentCombo = 0
 
bool bIsComboWindowOpen = false
 
bool bHasNextComboInput = false
 
- UGA_CombatBase(으)로부터 상속된 Protected 속성
TObjectPtr< UAT_TraceActiveTraceTask
 
TSubclassOf< ATA_TraceHitTraceClass
 
TArray< TSubclassOf< UGameplayEffect > > TargetEffectClasses
 
FGameplayTag HitCheckStartTag
 
FGameplayTag HitCheckEndTag
 
TEnumAsByte< ECollisionChannel > TraceChannel
 
uint8 bApplyKnockback: 1 = false
 
float KnockbackStrength = 700.0f
 
float KnockbackZComponent = 0.2f
 
uint8 bApplyHitStop: 1 = false
 
float HitStopDuration = 0.05f
 
float HitStopTimeDilation = 0.1f
 

추가로 상속된 멤버들

- UGA_CombatBase(으)로부터 상속된 Public 속성
TObjectPtr< UCombatDataBaseCombatData
 

생성자 & 소멸자 문서화

◆ UGA_Attack()

UGA_Attack::UGA_Attack ( )
15{
16
17}

멤버 함수 문서화

◆ ActivateAbility()

void UGA_Attack::ActivateAbility ( const FGameplayAbilitySpecHandle  Handle,
const FGameplayAbilityActorInfo *  ActorInfo,
const FGameplayAbilityActivationInfo  ActivationInfo,
const FGameplayEventData *  TriggerEventData 
)
overridevirtual
34{
35 Super::ActivateAbility(Handle, ActorInfo, ActivationInfo, TriggerEventData);
36
37 if (!CommitAbility(Handle, ActorInfo, ActivationInfo))
38 {
39 EndAbility(Handle, ActorInfo, ActivationInfo, false, true);
40 return;
41 }
42
43 if (!CurrentComboData || !CurrentComboData->ComboMontage)
44 {
45 EndAbility(Handle, ActorInfo, ActivationInfo, true, true);
46 return;
47 }
48
50
52
53 UAbilityTask_PlayMontageAndWait* PlayAttackTask = UAbilityTask_PlayMontageAndWait::CreatePlayMontageAndWaitProxy(this, TEXT("PlayAttack"), CurrentComboData->ComboMontage, 1.0f, GetNextSection());
54 PlayAttackTask->OnCompleted.AddDynamic(this, &ThisClass::OnCompleteCallback);
55 PlayAttackTask->OnInterrupted.AddDynamic(this, &ThisClass::OnInterruptedCallback);
56 PlayAttackTask->ReadyForActivation();
57
59}
FName GetNextSection()
Definition GA_Attack.cpp:99
void StartComboTimer()
Definition GA_Attack.cpp:107
TObjectPtr< class UComboActionData > CurrentComboData
Definition GA_Attack.h:42
virtual void EndAbility(const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo *ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, bool bReplicateEndAbility, bool bWasCancelled) override
Definition GA_Attack.cpp:76
void MotionWarpTargetToCursor(FName WarpTargetName=FName("Target"))
Definition GA_Base.cpp:39
void SetupHitCheckListeners()
Definition GA_CombatBase.cpp:64
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ ApplyCombatData()

void UGA_Attack::ApplyCombatData ( )
overrideprotectedvirtual

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

20{
21 Super::ApplyCombatData();
22 UAttackData* Data = Cast<UAttackData>(CombatData);
23 if (!Data)
24 {
25 return;
26
27 }
28
30}
Definition AttackData.h:13
TObjectPtr< UComboActionData > ComboData
Definition AttackData.h:18
TObjectPtr< UCombatDataBase > CombatData
Definition GA_CombatBase.h:68

◆ CancelAbility()

void UGA_Attack::CancelAbility ( const FGameplayAbilitySpecHandle  Handle,
const FGameplayAbilityActorInfo *  ActorInfo,
const FGameplayAbilityActivationInfo  ActivationInfo,
bool  bReplicateCancelAbility 
)
overridevirtual
72{
73 Super::CancelAbility(Handle, ActorInfo, ActivationInfo, bReplicateCancelAbility);
74}

◆ CheckComboInput()

void UGA_Attack::CheckComboInput ( )
protected
129{
130 bIsComboWindowOpen = false;
132 {
134
135 MontageJumpToSection(GetNextSection());
137 bHasNextComboInput = false;
138 }
139}
bool bIsComboWindowOpen
Definition GA_Attack.h:45
bool bHasNextComboInput
Definition GA_Attack.h:46
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ EndAbility()

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

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

78{
79 // 초기화
80 CurrentCombo = 0;
81 bIsComboWindowOpen = false;
82 bHasNextComboInput = false;
83 Super::EndAbility(Handle, ActorInfo, ActivationInfo, bReplicateEndAbility, bWasCancelled);
84}
uint8 CurrentCombo
Definition GA_Attack.h:44
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ GetNextSection()

FName UGA_Attack::GetNextSection ( )
protected
100{
101 CurrentCombo = FMath::Clamp(CurrentCombo + 1, 1, CurrentComboData->MaxComboCount);
102 FName NextSection = *FString::Printf(TEXT("%s%d"), *CurrentComboData->MontageSectionNamePrefix, CurrentCombo);
103 LOG_INFO(LogCKCharacter, "Next Section Name: %s", *NextSection.ToString());
104 return NextSection;
105}
#define LOG_INFO(Category, Format,...)
Definition CK_UE.h:30
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ InputPressed()

void UGA_Attack::InputPressed ( const FGameplayAbilitySpecHandle  Handle,
const FGameplayAbilityActorInfo *  ActorInfo,
const FGameplayAbilityActivationInfo  ActivationInfo 
)
overridevirtual
63{
65 {
66 bHasNextComboInput = true;
67 }
68}

◆ OnCompleteCallback()

void UGA_Attack::OnCompleteCallback ( )
protected
88{
89 bool bWasCancelled = false;
90 EndAbility(CurrentSpecHandle, CurrentActorInfo, CurrentActivationInfo, true, bWasCancelled);
91}
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ OnInterruptedCallback()

void UGA_Attack::OnInterruptedCallback ( )
protected
94{
95 bool bWasCancelled = true;
96 EndAbility(CurrentSpecHandle, CurrentActorInfo, CurrentActivationInfo, true, bWasCancelled);
97}
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ StartComboTimer()

void UGA_Attack::StartComboTimer ( )
protected
108{
109 int32 Comboindex = CurrentCombo - 1;
110 if (!CurrentComboData || !CurrentComboData->EffectiveFrameCount.IsValidIndex(Comboindex))
111 {
112 return;
113 }
114
115 const float ComboEffectiveTime = CurrentComboData->EffectiveFrameCount[Comboindex] / CurrentComboData->FrameRate;
116 if (ComboEffectiveTime > 0.0f)
117 {
118 bIsComboWindowOpen = true;
119
120 if (UAbilityTask_WaitDelay* WaitTask = UAbilityTask_WaitDelay::WaitDelay(this, ComboEffectiveTime))
121 {
122 WaitTask->OnFinish.AddDynamic(this, &ThisClass::CheckComboInput);
123 WaitTask->ReadyForActivation();
124 }
125 }
126}
이 함수를 호출하는 함수들에 대한 그래프입니다.:

멤버 데이터 문서화

◆ bHasNextComboInput

bool UGA_Attack::bHasNextComboInput = false
protected

◆ bIsComboWindowOpen

bool UGA_Attack::bIsComboWindowOpen = false
protected

◆ CurrentCombo

uint8 UGA_Attack::CurrentCombo = 0
protected

◆ CurrentComboData

TObjectPtr<class UComboActionData> UGA_Attack::CurrentComboData
protected

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