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

#include <Task_Retreat.h>

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

Public 타입

using FInstanceDataType = FTask_Retreat_Data
 

Public 멤버 함수

virtual const UStruct * GetInstanceDataType () const override
 
virtual EStateTreeRunStatus EnterState (FStateTreeExecutionContext &Context, const FStateTreeTransitionResult &Transition) const override
 

멤버 타입정의 문서화

◆ FInstanceDataType

멤버 함수 문서화

◆ EnterState()

EStateTreeRunStatus FTask_Retreat::EnterState ( FStateTreeExecutionContext &  Context,
const FStateTreeTransitionResult &  Transition 
) const
overridevirtual
11{
12 FInstanceDataType& Data = Context.GetInstanceData<FInstanceDataType>(*this);
13
14 if (Data.EnemyActor == nullptr || Data.TargetActor == nullptr)
15 {
16 return EStateTreeRunStatus::Failed;
17 }
18
19 FVector MonsterLoc = Data.EnemyActor->GetActorLocation();
20 FVector PlayerLoc = Data.TargetActor->GetActorLocation();
21 FVector RetreatDirection = (MonsterLoc - PlayerLoc).GetSafeNormal2D();
22 FVector IdealDestination = MonsterLoc + (RetreatDirection * Data.RetreatDistance);
23
24 UNavigationSystemV1* NavSys = UNavigationSystemV1::GetCurrent(Data.EnemyActor->GetWorld());
25 if (NavSys)
26 {
27 FVector HitLocation;
28
29 bool bBlocked = NavSys->NavigationRaycast(Data.EnemyActor, MonsterLoc, IdealDestination, HitLocation);
30
31 if (bBlocked)
32 {
33 Data.OutDestination = HitLocation - (RetreatDirection * 50.0f);
34 }
35 else
36 {
37 Data.OutDestination = IdealDestination;
38 }
39 }
40 else
41 {
42 // NavMesh를 못 찾은 경우 예외처리
43 Data.OutDestination = IdealDestination;
44 }
45
46 return EStateTreeRunStatus::Succeeded;
47}
TObjectPtr< AActor > EnemyActor
Definition Task_Retreat.h:16
FTask_Retreat_Data FInstanceDataType
Definition Task_Retreat.h:32

◆ GetInstanceDataType()

virtual const UStruct * FTask_Retreat::GetInstanceDataType ( ) const
inlineoverridevirtual
33{ return FInstanceDataType::StaticStruct(); }

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