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

#include <GA_Dash.h>

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

Public 멤버 함수

virtual void OnGiveAbility (const FGameplayAbilityActorInfo *ActorInfo, const FGameplayAbilitySpec &Spec) override
 
virtual void ActivateAbility (const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo *ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, const FGameplayEventData *TriggerEventData) override
 
virtual void EndAbility (const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo *ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, bool bReplicateEndAbility, bool bWasCancelled) override
 
void SetCharacterCollision (ECollisionResponse InChannel) const
 
void OnDashStart (FGameplayEventData Payload)
 
void OnDashEnd ()
 
void OnDashFinished ()
 
- UGA_SkillBase(으)로부터 상속된 Public 멤버 함수
virtual void ApplyCooldown (const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo *ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo) const override
 
const FGameplayTagContainer * GetCooldownTags () const
 
- UGA_Base(으)로부터 상속된 Public 멤버 함수
 UGA_Base ()
 

Protected 멤버 함수

virtual void OnAbilityMontageCompleted () override
 
virtual void OnAbilityMontageInterrupted () override
 
virtual void OnAbilityMontageCancellable () override
 
- UGA_SkillBase(으)로부터 상속된 Protected 멤버 함수
virtual void ApplyCombatData () override
 
virtual bool CheckCost (const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo *ActorInfo, FGameplayTagContainer *OptionalRelevantTags) const override
 
virtual void ApplyCost (const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo *ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo) const override
 
float GetSkillMontageSectionLength (const UAnimMontage *Montage, FName SectionName, bool bApplyPlayRate=false, float PlayRate=1.0f) const
 
bool HasClearStrikePath (const AMainPlayerCharacter *Player, const AActor *TargetActor) const
 
void SetAvatarPawnCollisionResponse (ECollisionResponse Response) const
 
float GetPlayerCurrentWeaponAttackRange () const
 
void SetAvatarMeshHidden (bool bHidden) const
 
void ResetSkillMontagePlayRate () const
 
AActor * GetTargetActor () const
 
UAnimMontage * GetSkillMontage (FGameplayTag PlayMontageTag=FGameplayTag::EmptyTag) const
 
bool ContainsAllMontageSections (const UAnimMontage *Montage, TArray< FName > SectionNames) const
 
template<typename T >
const T * GetExtendedData () const
 
template<typename T >
bool HasExtendedData () 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)
 
virtual TOptional< FTransform > GetTraceTransformForHitCheck () const
 
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)
 

Protected 속성

TObjectPtr< UAT_ApplyVelocityCurveActiveVelocityTask
 
TObjectPtr< UCurveFloat > DashProgressCurve
 
float DashDistance = 750.0f
 
- UGA_SkillBase(으)로부터 상속된 Protected 속성
FGameplayTag CooldownTag
 
float CostValue
 
float CooldownDuration
 
- 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
 

Private 멤버 함수

float GetNormalizedFactor (const float Duration) const
 

Private 속성

FVector DashDirection = FVector::ZeroVector
 
float TotalCurveIntegral = 0.0f
 

멤버 함수 문서화

◆ ActivateAbility()

void UGA_Dash::ActivateAbility ( const FGameplayAbilitySpecHandle  Handle,
const FGameplayAbilityActorInfo *  ActorInfo,
const FGameplayAbilityActivationInfo  ActivationInfo,
const FGameplayEventData *  TriggerEventData 
)
overridevirtual

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

24{
25 Super::ActivateAbility(Handle, ActorInfo, ActivationInfo, TriggerEventData);
26
27 ACharacter* Character = CastChecked<ACharacter>(GetAvatarActorFromActorInfo());
28 FVector InputDirect = Character->GetLastMovementInputVector();
29
30 if (InputDirect.SizeSquared2D() > 0.0f)
31 {
32 Character->SetActorRotation(FRotator(0.0f, InputDirect.Rotation().Yaw, 0.0f));
33 }
34 else
35 {
36 InputDirect = Character->GetActorForwardVector();
37 }
38
39 InputDirect.Z = 0.0f;
40 InputDirect.Normalize();
41 DashDirection = InputDirect;
42
43 if (UCharacterMotionWarpingComponentBase* WarpComponent = GetMotionWarpingComponent())
44 {
45 WarpComponent->StopMotionWarp();
46 }
47
49 SetCharacterCollision(ECR_Ignore);
50
51 if (UAbilityTask_WaitGameplayEvent* WaitStart = UAbilityTask_WaitGameplayEvent::WaitGameplayEvent(this, TAG_CHARACTER_STATE_ISDASHING, nullptr, true, false))
52 {
53 WaitStart->EventReceived.AddDynamic(this, &ThisClass::OnDashStart);
54 WaitStart->ReadyForActivation();
55 }
56
57 if (UAbilityTask_WaitGameplayTagRemoved* WaitEnd = UAbilityTask_WaitGameplayTagRemoved::WaitGameplayTagRemove(this, TAG_CHARACTER_STATE_ISDASHING))
58 {
59 WaitEnd->Removed.AddDynamic(this, &ThisClass::OnDashEnd);
60 WaitEnd->ReadyForActivation();
61 }
62}
UCharacterMotionWarpingComponentBase * GetMotionWarpingComponent() const
Definition GA_Base.cpp:33
void SetupCancelableListener()
Definition GA_Base.cpp:53
FVector DashDirection
Definition GA_Dash.h:56
void SetCharacterCollision(ECollisionResponse InChannel) const
Definition GA_Dash.cpp:140
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ EndAbility()

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

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

129{
130 if (IsEndAbilityValid(Handle, ActorInfo))
131 {
132 SetCharacterCollision(ECR_Block);
133 }
134
135 OnDashEnd();
136 Super::EndAbility(Handle, ActorInfo, ActivationInfo, bReplicateEndAbility, bWasCancelled);
137}
void OnDashEnd()
Definition GA_Dash.cpp:82
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ GetNormalizedFactor()

float UGA_Dash::GetNormalizedFactor ( const float  Duration) const
private
123{
124 return DashDistance / (Duration * TotalCurveIntegral);
125}
float TotalCurveIntegral
Definition GA_Dash.h:57
float DashDistance
Definition GA_Dash.h:53
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ OnAbilityMontageCancellable()

void UGA_Dash::OnAbilityMontageCancellable ( )
overrideprotectedvirtual

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

116{
117 Super::OnAbilityMontageCancellable();
119}
void OnDashFinished()
Definition GA_Dash.cpp:94
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ OnAbilityMontageCompleted()

void UGA_Dash::OnAbilityMontageCompleted ( )
overrideprotectedvirtual

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

102{
103 Super::OnAbilityMontageCompleted();
105}
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ OnAbilityMontageInterrupted()

void UGA_Dash::OnAbilityMontageInterrupted ( )
overrideprotectedvirtual

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

109{
110 Super::OnAbilityMontageInterrupted();
112}
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ OnDashEnd()

void UGA_Dash::OnDashEnd ( )
83{
84 if (!IsValid(ActiveVelocityTask))
85 {
86 return;
87 }
88
89 ActiveVelocityTask->EndTask();
90 ActiveVelocityTask = nullptr;
91}
TObjectPtr< UAT_ApplyVelocityCurve > ActiveVelocityTask
Definition GA_Dash.h:45
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ OnDashFinished()

void UGA_Dash::OnDashFinished ( )
95{
96 OnDashEnd();
97 EndAbility(CurrentSpecHandle, CurrentActorInfo, CurrentActivationInfo, false, false);
98}
virtual void EndAbility(const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo *ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, bool bReplicateEndAbility, bool bWasCancelled) override
Definition GA_Dash.cpp:128
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ OnDashStart()

void UGA_Dash::OnDashStart ( FGameplayEventData  Payload)
66{
67 const float NormalizationFactor = GetNormalizedFactor(TotalCurveIntegral);
68
69 UAT_ApplyVelocityCurve* Task = UAT_ApplyVelocityCurve::ApplyVelocityCurve(this, DashProgressCurve, DashDirection, NormalizationFactor, Payload.EventMagnitude, DashDistance);
70
71 if (Task == nullptr)
72 {
73 LOG_ERROR(LogCK, "%s 생성에 실패했습니다. ", NAMEOF(UAT_ApplyVelocityCurve));
74 return;
75 }
76
77 ActiveVelocityTask = Task;
78 Task->ReadyForActivation();
79}
#define LOG_ERROR(Category, Format,...)
Definition CK_UE.h:40
#define NAMEOF(Type)
Definition CK_UE.h:30
Definition AT_ApplyVelocityCurve.h:18
static UAT_ApplyVelocityCurve * ApplyVelocityCurve(UGameplayAbility *OwningAbility, UCurveFloat *InProgressCurve, FVector Direction, float NormalizationFactor, float Duration, float Distance)
Definition AT_ApplyVelocityCurve.cpp:19
TObjectPtr< UCurveFloat > DashProgressCurve
Definition GA_Dash.h:50
float GetNormalizedFactor(const float Duration) const
Definition GA_Dash.cpp:122
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ OnGiveAbility()

void UGA_Dash::OnGiveAbility ( const FGameplayAbilityActorInfo *  ActorInfo,
const FGameplayAbilitySpec &  Spec 
)
overridevirtual

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

17{
18 Super::OnGiveAbility(ActorInfo, Spec);
19 TotalCurveIntegral = Math::IntegrateNormalizedCurve(DashProgressCurve);
20}

◆ SetCharacterCollision()

void UGA_Dash::SetCharacterCollision ( ECollisionResponse  InChannel) const
141{
142 const ACharacter* Character = Cast<ACharacter>(GetAvatarActorFromActorInfo());
143
144 if (!Character)
145 {
146 return;
147 }
148
149 if (UCapsuleComponent* CapsuleComp = Character->GetCapsuleComponent())
150 {
151 CapsuleComp->SetCollisionResponseToChannel(ECC_Pawn, InChannel);
152 }
153}
이 함수를 호출하는 함수들에 대한 그래프입니다.:

멤버 데이터 문서화

◆ ActiveVelocityTask

TObjectPtr<UAT_ApplyVelocityCurve> UGA_Dash::ActiveVelocityTask
protected

◆ DashDirection

FVector UGA_Dash::DashDirection = FVector::ZeroVector
private

◆ DashDistance

float UGA_Dash::DashDistance = 750.0f
protected

◆ DashProgressCurve

TObjectPtr<UCurveFloat> UGA_Dash::DashProgressCurve
protected

◆ TotalCurveIntegral

float UGA_Dash::TotalCurveIntegral = 0.0f
private

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