11{
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