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

#include <TA_Trace.h>

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

Public 멤버 함수

 ATA_Trace ()
 
virtual void StartTargeting (UGameplayAbility *Ability) override
 
virtual void ConfirmTargetingAndContinue () override
 
virtual void StopTargeting ()
 
virtual void Tick (float DeltaSeconds) override
 
FORCEINLINE void SetCombatDataLevel (float InCombatDataLevel)
 
FORCEINLINE void SetTraceChannel (ECollisionChannel InChannel)
 
FORCEINLINE void SetSingleTrace (bool bInSingleTrace)
 
FORCEINLINE void SetMaxHitCountPerTarget (int32 InCount)
 
FORCEINLINE void SetMultiHitProfile (UDA_MultiHitProfile *InProfile)
 
FORCEINLINE void SetOverrideTraceTransform (const FTransform &InTraceTransform)
 

Public 속성

FFinisherTargetDataDelegate OnFinisherTargetDataDelegate
 

Protected 멤버 함수

FTransform ResolveTraceTransform () const
 
bool IsDebugEnabled () const
 

Protected 속성

virtual void PerformTrace(TArray< FHitResult > &OutHits) PURE_VIRTUAL(ATA_Trace bool ProcessTraceResults ()
 
float CombatDataLevel = 1.0f
 
ECollisionChannel TraceChannel
 
bool bSingleTrace = false
 
int32 MaxHitCountPerTarget = 1
 
TObjectPtr< UDA_MultiHitProfileMultiHitProfile
 
TMap< TWeakObjectPtr< AActor >, FMultiHitTargetStateHitMap
 
TObjectPtr< ACharacter > Character
 
TObjectPtr< USkeletalMeshComponent > CharacterMesh
 
FTransform OverrideTraceTransform = FTransform::Identity
 
uint8 bHasOverrideTraceTransform: 1 = false
 

생성자 & 소멸자 문서화

◆ ATA_Trace()

ATA_Trace::ATA_Trace ( )
17{
18 PrimaryActorTick.bCanEverTick = true;
19 PrimaryActorTick.bStartWithTickEnabled = true; // 생성되자마자 틱 켬
20}

멤버 함수 문서화

◆ ConfirmTargetingAndContinue()

void ATA_Trace::ConfirmTargetingAndContinue ( )
overridevirtual
34{
35 if (bSingleTrace)
36 {
37 SetActorTickEnabled(false);
38 if (ProcessTraceResults() == false)
39 {
40 FGameplayAbilityTargetDataHandle EmptyHandle;
41 TargetDataReadyDelegate.Broadcast(EmptyHandle);
42 }
43 }
44 else
45 {
46 SetActorTickEnabled(true);
47 }
48}
bool bSingleTrace
Definition TA_Trace.h:87
virtual void PerformTrace(TArray< FHitResult > &OutHits) PURE_VIRTUAL(ATA_Trace bool ProcessTraceResults()
Definition TA_Trace.h:74

◆ IsDebugEnabled()

bool ATA_Trace::IsDebugEnabled ( ) const
protected
167{
168 return FCombatDebug::ShouldDrawCombatTrace(SourceActor);
169}
static bool ShouldDrawCombatTrace(const AActor *SourceActor)
Definition CombatDebug.cpp:30
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ ResolveTraceTransform()

FTransform ATA_Trace::ResolveTraceTransform ( ) const
protected
146{
148 {
150 }
151
152 if (IsValid(Character))
153 {
154 return Character->GetActorTransform();
155 }
156
157 if (IsValid(SourceActor))
158 {
159 return SourceActor->GetActorTransform();
160 }
161
162 return FTransform::Identity;
163}
FTransform OverrideTraceTransform
Definition TA_Trace.h:107
uint8 bHasOverrideTraceTransform
Definition TA_Trace.h:110
TObjectPtr< ACharacter > Character
Definition TA_Trace.h:100
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ SetCombatDataLevel()

FORCEINLINE void ATA_Trace::SetCombatDataLevel ( float  InCombatDataLevel)
inline
41 {
42 CombatDataLevel = InCombatDataLevel;
43 }
float CombatDataLevel
Definition TA_Trace.h:85

◆ SetMaxHitCountPerTarget()

FORCEINLINE void ATA_Trace::SetMaxHitCountPerTarget ( int32  InCount)
inline
56 {
57 MaxHitCountPerTarget = FMath::Max(1, InCount);
58 }
int32 MaxHitCountPerTarget
Definition TA_Trace.h:90

◆ SetMultiHitProfile()

FORCEINLINE void ATA_Trace::SetMultiHitProfile ( UDA_MultiHitProfile InProfile)
inline
61 {
62 MultiHitProfile = InProfile;
63 }
TObjectPtr< UDA_MultiHitProfile > MultiHitProfile
Definition TA_Trace.h:93

◆ SetOverrideTraceTransform()

FORCEINLINE void ATA_Trace::SetOverrideTraceTransform ( const FTransform &  InTraceTransform)
inline
66 {
67 OverrideTraceTransform = InTraceTransform;
69 }

◆ SetSingleTrace()

FORCEINLINE void ATA_Trace::SetSingleTrace ( bool  bInSingleTrace)
inline
51 {
52 bSingleTrace = bInSingleTrace;
53 }

◆ SetTraceChannel()

FORCEINLINE void ATA_Trace::SetTraceChannel ( ECollisionChannel  InChannel)
inline
46 {
47 TraceChannel = InChannel;
48 }
ECollisionChannel TraceChannel
Definition TA_Trace.h:86

◆ StartTargeting()

void ATA_Trace::StartTargeting ( UGameplayAbility *  Ability)
overridevirtual

ATA_WeaponSphereTrace에서 재구현되었습니다.

23{
24 Super::StartTargeting(Ability);
25
26 SourceActor = Ability->GetCurrentActorInfo()->AvatarActor.Get();
27 HitMap.Empty();
28
29 Character = Cast<ACharacter>(SourceActor);
30 CharacterMesh = IsValid(Character) ? Character->GetMesh() : nullptr;
31}
TObjectPtr< USkeletalMeshComponent > CharacterMesh
Definition TA_Trace.h:104
TMap< TWeakObjectPtr< AActor >, FMultiHitTargetState > HitMap
Definition TA_Trace.h:96

◆ StopTargeting()

void ATA_Trace::StopTargeting ( )
virtual

ATA_WeaponSphereTrace에서 재구현되었습니다.

51{
52 SetActorTickEnabled(false);
53 HitMap.Empty();
54
55 Character = nullptr;
56 CharacterMesh = nullptr;
58 OverrideTraceTransform = FTransform::Identity;
59}

◆ Tick()

void ATA_Trace::Tick ( float  DeltaSeconds)
overridevirtual
62{
63 Super::Tick(DeltaSeconds);
65}

멤버 데이터 문서화

◆ bHasOverrideTraceTransform

uint8 ATA_Trace::bHasOverrideTraceTransform
protected

◆ bSingleTrace

bool ATA_Trace::bSingleTrace = false
protected

◆ Character

TObjectPtr<ACharacter> ATA_Trace::Character
protected

런타임 캐싱

◆ CharacterMesh

TObjectPtr<USkeletalMeshComponent> ATA_Trace::CharacterMesh
protected

런타임 캐싱

◆ CombatDataLevel

float ATA_Trace::CombatDataLevel = 1.0f
protected

◆ HitMap

TMap<TWeakObjectPtr<AActor>, FMultiHitTargetState> ATA_Trace::HitMap
protected

◆ MaxHitCountPerTarget

int32 ATA_Trace::MaxHitCountPerTarget = 1
protected

◆ MultiHitProfile

TObjectPtr<UDA_MultiHitProfile> ATA_Trace::MultiHitProfile
protected

◆ OnFinisherTargetDataDelegate

FFinisherTargetDataDelegate ATA_Trace::OnFinisherTargetDataDelegate

◆ OverrideTraceTransform

FTransform ATA_Trace::OverrideTraceTransform = FTransform::Identity
protected

◆ ProcessTraceResults

bool ATA_Trace::ProcessTraceResults
protected

◆ TraceChannel

ECollisionChannel ATA_Trace::TraceChannel
protected

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