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

#include <Task_Strafe.h>

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

Public 타입

using FInstanceDataType = FStrafeInstanceData
 

Public 멤버 함수

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

멤버 타입정의 문서화

◆ FInstanceDataType

멤버 함수 문서화

◆ EnterState()

EStateTreeRunStatus FTask_Strafe::EnterState ( FStateTreeExecutionContext &  Context,
const FStateTreeTransitionResult &  Transition 
) const
overridevirtual
7{
8 FInstanceDataType& Data = Context.GetInstanceData<FInstanceDataType>(*this);
9
10 UEnemyStrafeComponent* StrafeComp = Data.StrafeComponent;
11 if (IsValid(StrafeComp) == false)
12 {
13 return EStateTreeRunStatus::Failed;
14 }
15
16 switch (Data.StrafeMode)
17 {
18 case EStrafeMode::Reset:
19 StrafeComp->SetCurrentStrafeDirection(FMath::RandBool() ? -1.0f : 1.0f);
20 break;
21
22 case EStrafeMode::Calculate:
23 {
24 float CurrentDirection = StrafeComp->GetCurrentStrafeDirection();
25 if (FMath::FRand() < StrafeComp->GetDirectionChangeChance())
26 {
27 CurrentDirection *= -1.0f;
28 StrafeComp->SetCurrentStrafeDirection(CurrentDirection);
29 }
30
31 Data.StrafeDirection = CurrentDirection;
32
33 const float StrafeDistanceMin = StrafeComp->GetStrafeDistanceMin();
34 const float StrafeDistanceMax = StrafeComp->GetStrafeDistanceMax();
35
36 Data.CombatDistance = 0.0f;
37 if (StrafeDistanceMin < StrafeDistanceMax)
38 {
39 if (Data.DistanceToTarget < StrafeDistanceMin)
40 {
41 Data.CombatDistance = 1.0f;
42 }
43 else if (Data.DistanceToTarget > StrafeDistanceMax)
44 {
45 Data.CombatDistance = -1.0f;
46 }
47 }
48 break;
49 }
50
51 default:
52 return EStateTreeRunStatus::Failed;
53 }
54
55 return EStateTreeRunStatus::Succeeded;
56}
TObjectPtr< UEnemyStrafeComponent > StrafeComponent
Definition Task_Strafe.h:23
FStrafeInstanceData FInstanceDataType
Definition Task_Strafe.h:43

◆ GetInstanceDataType()

virtual const UStruct * FTask_Strafe::GetInstanceDataType ( ) const
inlineoverridevirtual
44{ return FInstanceDataType::StaticStruct(); }

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