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

#include <Task_SmoothTurnToTarget.h>

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

Public 타입

using FInstanceDataType = FSmoothTurnToTargetInstanceData
 

Public 멤버 함수

 FTask_SmoothTurnToTarget ()=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
 

Public 속성

float InterpSpeed = 10.0f
 

멤버 타입정의 문서화

◆ FInstanceDataType

생성자 & 소멸자 문서화

◆ FTask_SmoothTurnToTarget()

FTask_SmoothTurnToTarget::FTask_SmoothTurnToTarget ( )
default

멤버 함수 문서화

◆ EnterState()

EStateTreeRunStatus FTask_SmoothTurnToTarget::EnterState ( FStateTreeExecutionContext &  Context,
const FStateTreeTransitionResult &  Transition 
) const
overridevirtual
11{
12 const FInstanceDataType& Data = Context.GetInstanceData<FInstanceDataType>(*this);
13
14 if (!Data.Actor || !Data.TargetActor)
15 {
16 return EStateTreeRunStatus::Failed;
17 }
18
19 return EStateTreeRunStatus::Running;
20}
FSmoothTurnToTargetInstanceData FInstanceDataType
Definition Task_SmoothTurnToTarget.h:29

◆ GetInstanceDataType()

virtual const UStruct * FTask_SmoothTurnToTarget::GetInstanceDataType ( ) const
inlineoverridevirtual
30{ return FInstanceDataType::StaticStruct(); }

◆ Tick()

EStateTreeRunStatus FTask_SmoothTurnToTarget::Tick ( FStateTreeExecutionContext &  Context,
const float  DeltaTime 
) const
overridevirtual
23{
24 const FInstanceDataType& Data = Context.GetInstanceData<FInstanceDataType>(*this);
25
26 if (!Data.Actor || !Data.TargetActor)
27 {
28 return EStateTreeRunStatus::Failed;
29 }
30
31 const FVector Velocity = Data.Actor->GetVelocity();
32 if (Velocity.Size2D() > 10.0f)
33 {
34 return EStateTreeRunStatus::Running;
35 }
36
37 FVector LookAtDirection = Data.TargetActor->GetActorLocation() - Data.Actor->GetActorLocation();
38 LookAtDirection.Z = 0.0f;
39
40 if (LookAtDirection.IsNearlyZero())
41 {
42 return EStateTreeRunStatus::Running;
43 }
44
45 const FRotator CurrentRotation = Data.Actor->GetActorRotation();
46 const FRotator TargetRotation = LookAtDirection.Rotation();
47 const FRotator NewRotation = FMath::RInterpTo(CurrentRotation, TargetRotation, DeltaTime, InterpSpeed);
48
49 Data.Actor->SetActorRotation(NewRotation);
50
51 return EStateTreeRunStatus::Running;
52}
TObjectPtr< AActor > Actor
Definition Task_SmoothTurnToTarget.h:16
float InterpSpeed
Definition Task_SmoothTurnToTarget.h:35

멤버 데이터 문서화

◆ InterpSpeed

float FTask_SmoothTurnToTarget::InterpSpeed = 10.0f

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