Payback 0.0.1
CK Graduation Project
로딩중...
검색중...
일치하는것 없음
FTask_TurnToTarget 구조체 참조

#include <Task_TurnToTarget.h>

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

Public 타입

using FInstanceDataType = FTurnToTargetInstanceData
 

Public 멤버 함수

 FTask_TurnToTarget ()=default
 
virtual const UStruct * GetInstanceDataType () const override
 
virtual EStateTreeRunStatus EnterState (FStateTreeExecutionContext &Context, const FStateTreeTransitionResult &Transition) const override
 
virtual EStateTreeRunStatus Tick (FStateTreeExecutionContext &Context, const float DeltaTime) const override
 

멤버 타입정의 문서화

◆ FInstanceDataType

생성자 & 소멸자 문서화

◆ FTask_TurnToTarget()

FTask_TurnToTarget::FTask_TurnToTarget ( )
default

멤버 함수 문서화

◆ EnterState()

EStateTreeRunStatus FTask_TurnToTarget::EnterState ( FStateTreeExecutionContext &  Context,
const FStateTreeTransitionResult &  Transition 
) const
overridevirtual
11{
12 FInstanceDataType& Data = Context.GetInstanceData<FInstanceDataType>(*this);
13
14 if (IsValid(Data.Actor) == false || IsValid(Data.TargetActor) == false)
15 {
16 return EStateTreeRunStatus::Failed;
17 }
18
19 Data.RotationComponent = Data.Actor->FindComponentByClass<UCharacterMovementComponentBase>();
20 if (IsValid(Data.RotationComponent) == false)
21 {
22 return EStateTreeRunStatus::Failed;
23 }
24
25 if (Data.bIsSmoothTurn == false)
26 {
27 return Data.RotationComponent->RotateToActor(Data.TargetActor, 0.0f, Data.TurnSpeed, Data.Tolerance, false)
28 ? EStateTreeRunStatus::Succeeded
29 : EStateTreeRunStatus::Failed;
30 }
31
32 return EStateTreeRunStatus::Running;
33}
FTurnToTargetInstanceData FInstanceDataType
Definition Task_TurnToTarget.h:45
TObjectPtr< UCharacterMovementComponentBase > RotationComponent
Definition Task_TurnToTarget.h:36

◆ GetInstanceDataType()

virtual const UStruct * FTask_TurnToTarget::GetInstanceDataType ( ) const
inlineoverridevirtual
46{ return FInstanceDataType::StaticStruct(); }

◆ Tick()

EStateTreeRunStatus FTask_TurnToTarget::Tick ( FStateTreeExecutionContext &  Context,
const float  DeltaTime 
) const
overridevirtual
36{
37 FInstanceDataType& Data = Context.GetInstanceData<FInstanceDataType>(*this);
38
39 if (Data.bIsSmoothTurn == false || IsValid(Data.Actor) == false || IsValid(Data.TargetActor) == false)
40 {
41 return EStateTreeRunStatus::Failed;
42 }
43
44 if (IsValid(Data.RotationComponent) == false)
45 {
46 return EStateTreeRunStatus::Failed;
47 }
48
49 if (Data.Actor->GetVelocity().SizeSquared2D() > 100.0f)
50 {
51 return EStateTreeRunStatus::Running;
52 }
53
54 const bool bIsFacingTarget = Data.RotationComponent->RotateToActor(Data.TargetActor, DeltaTime, Data.TurnSpeed, Data.Tolerance, true);
55 if (bIsFacingTarget && Data.bKeepTracking == false)
56 {
57 return EStateTreeRunStatus::Succeeded;
58 }
59
60 return EStateTreeRunStatus::Running;
61}

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