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

#include <LevelStreamingStateMachine.h>

FLevelStreamingStateMachine에 대한 협력 다이어그램:
Collaboration graph

Public 멤버 함수

void Initialize (ULevelStreamingSubsystem *LevelStreamingSubsystem)
 
void NotifyPhaseCompleted (ELevelStreamingPhase Phase)
 
void NotifyAsyncLoadCompleted ()
 
void NotifyBundleLoadCompleted ()
 
void NotifyLevelShown ()
 
void BeginLoad ()
 
void Reset ()
 
FORCEINLINE bool IsBusy () const
 
FORCEINLINE ELevelStreamingFlowState GetState () const
 

Private 멤버 함수

void TransitionTo (ELevelStreamingFlowState NewState)
 
void ProcessState ()
 

Private 속성

ELevelStreamingFlowState CurrentState = ELevelStreamingFlowState::Idle
 
EDuringLoadGate DuringLoadGates = EDuringLoadGate::None
 
TObjectPtr< ULevelStreamingSubsystemOwner
 

Friends

class ULevelStreamingSubsystem
 

멤버 함수 문서화

◆ BeginLoad()

void FLevelStreamingStateMachine::BeginLoad ( )
20{
22 ensureAlwaysMsgf(Owner, TEXT("%s: Owner is null"), NAMEOF(FLevelStreamingStateMachine));
23 Owner->EnterPreLoadingState();
24}
#define NAMEOF(Type)
Definition CK_UE.h:30
Definition LevelStreamingStateMachine.h:11
void TransitionTo(ELevelStreamingFlowState NewState)
Definition LevelStreamingStageMachine.cpp:68
TObjectPtr< ULevelStreamingSubsystem > Owner
Definition LevelStreamingStateMachine.h:44
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ GetState()

FORCEINLINE ELevelStreamingFlowState FLevelStreamingStateMachine::GetState ( ) const
inline
30 {
31 return CurrentState;
32 }
ELevelStreamingFlowState CurrentState
Definition LevelStreamingStateMachine.h:39
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ Initialize()

void FLevelStreamingStateMachine::Initialize ( ULevelStreamingSubsystem LevelStreamingSubsystem)
7{
8 Owner = LevelStreamingSubsystem;
9}
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ IsBusy()

FORCEINLINE bool FLevelStreamingStateMachine::IsBusy ( ) const
inline

◆ NotifyAsyncLoadCompleted()

void FLevelStreamingStateMachine::NotifyAsyncLoadCompleted ( )
28{
29 ensureAlwaysMsgf(Owner, TEXT("%s: Owner is null"), NAMEOF(FLevelStreamingStateMachine));
30
31 if (Owner->HandleAsyncLoadCompleted() == false)
32 {
33 return;
34 }
35
38}
EDuringLoadGate DuringLoadGates
Definition LevelStreamingStateMachine.h:40
void ProcessState()
Definition LevelStreamingStageMachine.cpp:127
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ NotifyBundleLoadCompleted()

void FLevelStreamingStateMachine::NotifyBundleLoadCompleted ( )
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ NotifyLevelShown()

void FLevelStreamingStateMachine::NotifyLevelShown ( )
54{
56 {
57 return;
58 }
59
60 ensureAlwaysMsgf(Owner, TEXT("%s: Owner is null"), NAMEOF(FLevelStreamingStateMachine));
61 Owner->PlacePlayerInLevel();
62 Owner->HandleLevelShown();
64 Owner->StartChain(ELevelStreamingPhase::PostLoad);
65}
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ NotifyPhaseCompleted()

void FLevelStreamingStateMachine::NotifyPhaseCompleted ( ELevelStreamingPhase  Phase)
146{
147 switch (Phase)
148 {
149 case ELevelStreamingPhase::PreLoad:
150 {
152 {
153 return;
154 }
155
157 Owner->EnterDuringLoadState();
158 ProcessState();
159 break;
160 }
161
162 case ELevelStreamingPhase::DuringLoad:
163 {
165 {
166 return;
167 }
168
170 Owner->HandleDuringLoadChainCompleted();
171 ProcessState();
172 break;
173 }
174
175 case ELevelStreamingPhase::PostLoad:
176 {
178 {
179 return;
180 }
181
183 Owner->EnterIdleState();
184 break;
185 }
186
187 default:
188 {
189 LOG_ERROR(LogCK, "잘못된 %s 입니다. ", NAMEOF(ELevelStreamingFlowState));
190 }
191 }
192}
#define LOG_ERROR(Category, Format,...)
Definition CK_UE.h:40
ELevelStreamingFlowState
Definition ELevelStreamingEnums.h:50
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ ProcessState()

void FLevelStreamingStateMachine::ProcessState ( )
private
128{
130 {
131 return;
132 }
133
135 {
136 return;
137 }
138
140 ensureAlwaysMsgf(Owner, TEXT("%s: Owner is null"), NAMEOF(FLevelStreamingStateMachine));
141 Owner->EnterAwaitShownState();
142}
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ Reset()

void FLevelStreamingStateMachine::Reset ( )
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ TransitionTo()

void FLevelStreamingStateMachine::TransitionTo ( ELevelStreamingFlowState  NewState)
private
69{
70 bool bValidTransition = false;
71
72 switch (CurrentState)
73 {
75 {
76 bValidTransition = NewState == ELevelStreamingFlowState::PreLoading;
77 break;
78 }
79
81 {
82 bValidTransition = NewState == ELevelStreamingFlowState::DuringLoad;
83 break;
84 }
85
87 {
88 bValidTransition = NewState == ELevelStreamingFlowState::AwaitShown;
89 break;
90 }
91
93 {
94 bValidTransition = NewState == ELevelStreamingFlowState::PostLoading;
95 break;
96 }
97
99 {
100 bValidTransition = NewState == ELevelStreamingFlowState::Idle;
101 break;
102 }
103 }
104
105 const FString From = *UEnum::GetValueAsString(CurrentState);
106 const FString To = *UEnum::GetValueAsString(NewState);
107
108 if (bValidTransition == false)
109 {
110 LOG_ERROR(LogCK, "Invalid %s transition: %s -> %s", NAMEOF(FLevelStreamingStateMachine), *From, *To);
111 return;
112 }
113 else
114 {
115 LOG_INFO(LogCKLevel, "[%s] %s -> %s", NAMEOF(FLevelStreamingStateMachine), *From, *To);
116 }
117
119 {
121 }
122
123 CurrentState = NewState;
124}
#define LOG_INFO(Category, Format,...)
Definition CK_UE.h:38
이 함수를 호출하는 함수들에 대한 그래프입니다.:

Friend, 그리고 관련된 함수 문서화

◆ ULevelStreamingSubsystem

friend class ULevelStreamingSubsystem
friend

멤버 데이터 문서화

◆ CurrentState

ELevelStreamingFlowState FLevelStreamingStateMachine::CurrentState = ELevelStreamingFlowState::Idle
private

◆ DuringLoadGates

EDuringLoadGate FLevelStreamingStateMachine::DuringLoadGates = EDuringLoadGate::None
private

◆ Owner

TObjectPtr<ULevelStreamingSubsystem> FLevelStreamingStateMachine::Owner
private

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