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

#include <AT_RotateToTargetForDuration.h>

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

Public 멤버 함수

 UAT_RotateToTargetForDuration ()
 
virtual void Activate () override
 
virtual void TickTask (float DeltaTime) override
 
virtual void OnDestroy (bool bInOwnerFinished) override
 

정적 Public 멤버 함수

static UAT_RotateToTargetForDurationRotateToTargetForDuration (UGameplayAbility *OwningAbility, AActor *TargetActor, const FTargetRotationSettings &Settings)
 

Public 속성

FRotateToTargetForDurationDelegate OnFinished
 
FRotateToTargetForDurationDelegate OnFailed
 

Protected 멤버 함수

void FinishRotation ()
 
void FailRotation ()
 

Protected 속성

TObjectPtr< ACharacter > OwnerCharacter
 
TObjectPtr< UCharacterMovementComponentBase > RotationComponent
 
TWeakObjectPtr< AActor > TargetActor
 
float ElapsedTime = 0.0f
 
float RotationDuration = 0.0f
 
float TurnSpeed = 0.0f
 
float Tolerance = 0.0f
 
bool bRotationEnded = false
 

생성자 & 소멸자 문서화

◆ UAT_RotateToTargetForDuration()

UAT_RotateToTargetForDuration::UAT_RotateToTargetForDuration ( )
10{
11 bTickingTask = true;
12}

멤버 함수 문서화

◆ Activate()

void UAT_RotateToTargetForDuration::Activate ( )
overridevirtual
30{
31 Super::Activate();
32
33 OwnerCharacter = Cast<ACharacter>(GetAvatarActor());
34 if (IsValid(OwnerCharacter) == false || TargetActor.IsValid() == false)
35 {
37 return;
38 }
39
40 RotationComponent = Cast<UCharacterMovementComponentBase>(OwnerCharacter->GetCharacterMovement());
41 if (IsValid(RotationComponent) == false)
42 {
44 return;
45 }
46
47 if (RotationDuration < KINDA_SMALL_NUMBER)
48 {
50 }
51}
void FailRotation()
Definition AT_RotateToTargetForDuration.cpp:104
float RotationDuration
Definition AT_RotateToTargetForDuration.h:49
TWeakObjectPtr< AActor > TargetActor
Definition AT_RotateToTargetForDuration.h:46
TObjectPtr< UCharacterMovementComponentBase > RotationComponent
Definition AT_RotateToTargetForDuration.h:43
TObjectPtr< ACharacter > OwnerCharacter
Definition AT_RotateToTargetForDuration.h:40
void FinishRotation()
Definition AT_RotateToTargetForDuration.cpp:88
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ FailRotation()

void UAT_RotateToTargetForDuration::FailRotation ( )
protected
105{
106 if (bRotationEnded)
107 {
108 return;
109 }
110
111 bRotationEnded = true;
112 if (ShouldBroadcastAbilityTaskDelegates())
113 {
114 OnFailed.Broadcast();
115 }
116
117 EndTask();
118}
bool bRotationEnded
Definition AT_RotateToTargetForDuration.h:52
FRotateToTargetForDurationDelegate OnFailed
Definition AT_RotateToTargetForDuration.h:36
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ FinishRotation()

void UAT_RotateToTargetForDuration::FinishRotation ( )
protected
89{
91 {
92 return;
93 }
94
95 bRotationEnded = true;
96 if (ShouldBroadcastAbilityTaskDelegates())
97 {
98 OnFinished.Broadcast();
99 }
100
101 EndTask();
102}
FRotateToTargetForDurationDelegate OnFinished
Definition AT_RotateToTargetForDuration.h:35
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ OnDestroy()

void UAT_RotateToTargetForDuration::OnDestroy ( bool  bInOwnerFinished)
overridevirtual
80{
81 OwnerCharacter = nullptr;
82 RotationComponent = nullptr;
83 TargetActor.Reset();
84
85 Super::OnDestroy(bInOwnerFinished);
86}

◆ RotateToTargetForDuration()

UAT_RotateToTargetForDuration * UAT_RotateToTargetForDuration::RotateToTargetForDuration ( UGameplayAbility *  OwningAbility,
AActor *  TargetActor,
const FTargetRotationSettings Settings 
)
static
15{
16 if (IsValid(OwningAbility) == false)
17 {
18 return nullptr;
19 }
20
21 UAT_RotateToTargetForDuration* NewTask = NewAbilityTask<UAT_RotateToTargetForDuration>(OwningAbility);
22 NewTask->TargetActor = TargetActor;
23 NewTask->RotationDuration = FMath::Max(Settings.GetRotationDuration(), 0.0f);
24 NewTask->TurnSpeed = FMath::Max(Settings.GetTurnSpeed(), 0.0f);
25 NewTask->Tolerance = FMath::Max(Settings.GetTolerance(), 0.0f);
26 return NewTask;
27}
Definition AT_RotateToTargetForDuration.h:18
float Tolerance
Definition AT_RotateToTargetForDuration.h:51
float TurnSpeed
Definition AT_RotateToTargetForDuration.h:50
FORCEINLINE float GetTolerance() const
Definition ExtendedDatas.h:96
FORCEINLINE float GetRotationDuration() const
Definition ExtendedDatas.h:94
FORCEINLINE float GetTurnSpeed() const
Definition ExtendedDatas.h:95
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ TickTask()

void UAT_RotateToTargetForDuration::TickTask ( float  DeltaTime)
overridevirtual
54{
55 Super::TickTask(DeltaTime);
56
58 {
59 return;
60 }
61
62 AActor* CurrentTargetActor = TargetActor.Get();
63 if (IsValid(OwnerCharacter) == false || IsValid(RotationComponent) == false || IsValid(CurrentTargetActor) == false)
64 {
66 return;
67 }
68
69 // 먼저 바라보게 되어도 조준 시간이 끝날 때까지 움직이는 대상을 계속 추적한다.
70 RotationComponent->RotateToActor(CurrentTargetActor, DeltaTime, TurnSpeed, Tolerance);
71 ElapsedTime += DeltaTime;
72
74 {
76 }
77}
float ElapsedTime
Definition AT_RotateToTargetForDuration.h:48
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

멤버 데이터 문서화

◆ bRotationEnded

bool UAT_RotateToTargetForDuration::bRotationEnded = false
protected

◆ ElapsedTime

float UAT_RotateToTargetForDuration::ElapsedTime = 0.0f
protected

◆ OnFailed

FRotateToTargetForDurationDelegate UAT_RotateToTargetForDuration::OnFailed

◆ OnFinished

FRotateToTargetForDurationDelegate UAT_RotateToTargetForDuration::OnFinished

◆ OwnerCharacter

TObjectPtr<ACharacter> UAT_RotateToTargetForDuration::OwnerCharacter
protected

◆ RotationComponent

TObjectPtr<UCharacterMovementComponentBase> UAT_RotateToTargetForDuration::RotationComponent
protected

◆ RotationDuration

float UAT_RotateToTargetForDuration::RotationDuration = 0.0f
protected

◆ TargetActor

TWeakObjectPtr<AActor> UAT_RotateToTargetForDuration::TargetActor
protected

◆ Tolerance

float UAT_RotateToTargetForDuration::Tolerance = 0.0f
protected

◆ TurnSpeed

float UAT_RotateToTargetForDuration::TurnSpeed = 0.0f
protected

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