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

#include <AT_Trace.h>

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

Public 멤버 함수

 UAT_Trace ()
 
virtual void Activate () override
 
virtual void OnDestroy (bool bInOwnerFinished) override
 

정적 Public 멤버 함수

static UAT_TraceCreateTask (UGameplayAbility *OwningAbility, const UCombatDataBase *InCombatData, float InCombatDataLevel, int32 InCombatHitDataIndex, bool bInSingleTrace=false, int32 InMaxHitCountPerTarget=1, UDA_MultiHitProfile *InMultiHitProfile=nullptr, bool bInHasOverrideTraceTransform=false, const FTransform &InOverrideTraceTransform=FTransform::Identity)
 

Public 속성

FTraceResultDelegate OnCompleteDelegate
 
FTraceResultDelegate OnFinisherCompleteDelegate
 

Protected 멤버 함수

void OnTargetDataReadyCallback (const FGameplayAbilityTargetDataHandle &DataHandle)
 
void OnFinisherTargetDataReadyCallback (const FGameplayAbilityTargetDataHandle &DataHandle)
 

Protected 속성

TSubclassOf< ATA_TraceTargetActorClass
 
TObjectPtr< ATA_TraceSpawnedTargetActor
 
TObjectPtr< UDA_MultiHitProfileCachedProfile
 
float CombatDataLevel = 1.0f
 
int32 CombatHitDataIndex = 1
 
ECollisionChannel TaskTraceChannel = ECC_GameTraceChannel1
 
bool bSingleTrace = false
 
bool bHasOverrideTraceTransform = false
 
int32 TaskMaxHitCountPerTarget = 1
 
FTransform OverrideTraceTransform = FTransform::Identity
 
FDelegateHandle FinisherDelegateHandle
 

생성자 & 소멸자 문서화

◆ UAT_Trace()

UAT_Trace::UAT_Trace ( )
11{
12}

멤버 함수 문서화

◆ Activate()

void UAT_Trace::Activate ( )
overridevirtual
36{
37 Super::Activate();
38
39 if (TargetActorClass == nullptr || GetWorld() == nullptr)
40 {
41 EndTask();
42 return;
43 }
44
45 SpawnedTargetActor = Cast<ATA_Trace>(GetWorld()->SpawnActorDeferred<AGameplayAbilityTargetActor>(TargetActorClass, FTransform::Identity, nullptr, nullptr, ESpawnActorCollisionHandlingMethod::AlwaysSpawn));
46
47 if (SpawnedTargetActor == nullptr)
48 {
49 EndTask();
50 return;
51 }
52
53 SpawnedTargetActor->SetCombatDataLevel(CombatDataLevel);
54 SpawnedTargetActor->SetTraceChannel(TaskTraceChannel);
55 SpawnedTargetActor->SetSingleTrace(bSingleTrace);
56 SpawnedTargetActor->SetMaxHitCountPerTarget(TaskMaxHitCountPerTarget);
57 SpawnedTargetActor->SetMultiHitProfile(CachedProfile);
59 {
60 SpawnedTargetActor->SetOverrideTraceTransform(OverrideTraceTransform);
61 }
62 SpawnedTargetActor->TargetDataReadyDelegate.AddUObject(this, &ThisClass::OnTargetDataReadyCallback);
63 FinisherDelegateHandle = SpawnedTargetActor->OnFinisherTargetDataDelegate.AddUObject(this, &ThisClass::OnFinisherTargetDataReadyCallback);
64
65 SpawnedTargetActor->FinishSpawning(FTransform::Identity);
66 SpawnedTargetActor->StartTargeting(Ability);
67 SpawnedTargetActor->ConfirmTargetingAndContinue();
68}
FTransform OverrideTraceTransform
Definition AT_Trace.h:54
float CombatDataLevel
Definition AT_Trace.h:48
FDelegateHandle FinisherDelegateHandle
Definition AT_Trace.h:56
TSubclassOf< ATA_Trace > TargetActorClass
Definition AT_Trace.h:40
bool bSingleTrace
Definition AT_Trace.h:51
ECollisionChannel TaskTraceChannel
Definition AT_Trace.h:50
TObjectPtr< ATA_Trace > SpawnedTargetActor
Definition AT_Trace.h:43
int32 TaskMaxHitCountPerTarget
Definition AT_Trace.h:53
bool bHasOverrideTraceTransform
Definition AT_Trace.h:52
TObjectPtr< UDA_MultiHitProfile > CachedProfile
Definition AT_Trace.h:46

◆ CreateTask()

UAT_Trace * UAT_Trace::CreateTask ( UGameplayAbility *  OwningAbility,
const UCombatDataBase InCombatData,
float  InCombatDataLevel,
int32  InCombatHitDataIndex,
bool  bInSingleTrace = false,
int32  InMaxHitCountPerTarget = 1,
UDA_MultiHitProfile InMultiHitProfile = nullptr,
bool  bInHasOverrideTraceTransform = false,
const FTransform &  InOverrideTraceTransform = FTransform::Identity 
)
static
15{
16 UAT_Trace* NewTask = NewAbilityTask<UAT_Trace>(OwningAbility);
17
18 if (InCombatData)
19 {
20 NewTask->TargetActorClass = InCombatData->HitTraceClass;
21 NewTask->TaskTraceChannel = InCombatData->TraceChannel.GetValue();
22 }
23
24 NewTask->CombatDataLevel = InCombatDataLevel;
25 NewTask->CombatHitDataIndex = InCombatHitDataIndex;
26 NewTask->bSingleTrace = bInSingleTrace;
27 NewTask->bHasOverrideTraceTransform = bInHasOverrideTraceTransform;
28 NewTask->OverrideTraceTransform = InOverrideTraceTransform;
29 NewTask->TaskMaxHitCountPerTarget = InMaxHitCountPerTarget;
30 NewTask->CachedProfile = InMultiHitProfile;
31
32 return NewTask;
33}
Definition AT_Trace.h:17
int32 CombatHitDataIndex
Definition AT_Trace.h:49
TEnumAsByte< ECollisionChannel > TraceChannel
Definition CombatDataBase.h:134
TSubclassOf< ATA_Trace > HitTraceClass
Definition CombatDataBase.h:137
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ OnDestroy()

void UAT_Trace::OnDestroy ( bool  bInOwnerFinished)
overridevirtual
71{
73 {
74 SpawnedTargetActor->TargetDataReadyDelegate.RemoveAll(this);
75
76 if (FinisherDelegateHandle.IsValid())
77 {
78 SpawnedTargetActor->OnFinisherTargetDataDelegate.Remove(FinisherDelegateHandle);
80 }
81 SpawnedTargetActor->StopTargeting();
82 SpawnedTargetActor->Destroy();
83 }
84
85 Super::OnDestroy(bInOwnerFinished);
86}

◆ OnFinisherTargetDataReadyCallback()

void UAT_Trace::OnFinisherTargetDataReadyCallback ( const FGameplayAbilityTargetDataHandle &  DataHandle)
protected
105{
106 if (ShouldBroadcastAbilityTaskDelegates())
107 {
109 }
110}
FTraceResultDelegate OnFinisherCompleteDelegate
Definition AT_Trace.h:36

◆ OnTargetDataReadyCallback()

void UAT_Trace::OnTargetDataReadyCallback ( const FGameplayAbilityTargetDataHandle &  DataHandle)
protected
89{
90 if (ShouldBroadcastAbilityTaskDelegates())
91 {
92 if (DataHandle.Data.IsEmpty() == false)
93 {
95 }
96
97 if (bSingleTrace)
98 {
99 EndTask();
100 }
101 }
102}
FTraceResultDelegate OnCompleteDelegate
Definition AT_Trace.h:33

멤버 데이터 문서화

◆ bHasOverrideTraceTransform

bool UAT_Trace::bHasOverrideTraceTransform = false
protected

◆ bSingleTrace

bool UAT_Trace::bSingleTrace = false
protected

◆ CachedProfile

TObjectPtr<UDA_MultiHitProfile> UAT_Trace::CachedProfile
protected

◆ CombatDataLevel

float UAT_Trace::CombatDataLevel = 1.0f
protected

◆ CombatHitDataIndex

int32 UAT_Trace::CombatHitDataIndex = 1
protected

◆ FinisherDelegateHandle

FDelegateHandle UAT_Trace::FinisherDelegateHandle
protected

◆ OnCompleteDelegate

FTraceResultDelegate UAT_Trace::OnCompleteDelegate

◆ OnFinisherCompleteDelegate

FTraceResultDelegate UAT_Trace::OnFinisherCompleteDelegate

◆ OverrideTraceTransform

FTransform UAT_Trace::OverrideTraceTransform = FTransform::Identity
protected

◆ SpawnedTargetActor

TObjectPtr<ATA_Trace> UAT_Trace::SpawnedTargetActor
protected

◆ TargetActorClass

TSubclassOf<ATA_Trace> UAT_Trace::TargetActorClass
protected

◆ TaskMaxHitCountPerTarget

int32 UAT_Trace::TaskMaxHitCountPerTarget = 1
protected

◆ TaskTraceChannel

ECollisionChannel UAT_Trace::TaskTraceChannel = ECC_GameTraceChannel1
protected

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