113{
114 ULevelStreaming* PreviousLevelStreaming;
115
117 {
118 return;
119 }
120
123
124 const FString LevelToUnloadName = PreviousLevelStreaming->GetWorldAsset().GetAssetName();
125
127 {
129 }
130 else
131 {
133 }
134
136 {
137 LOG_ERROR(LogCKLevel,
"스트리밍할 레벨을 찾을 수 없습니다.");
140 return;
141 }
142
143 TArray<ULevelStreamingEffect*> CreatedEffects = ReqLevelLoadPipelineData->
CreateEffects(
this);
144
146
148 {
150 }
151
153
155 LOG_INFO(LogCKLevel,
"[RequestLevelLoad] TargetAssetName='%s', FindByName=%s", *ReqLevelLoadPipelineData->
TargetLevel.PrimaryAssetName.ToString(), TargetLevel ? TEXT(
"Found") : TEXT(
"NotFound"));
156
158
160 {
161 LOG_INFO(LogCKLevel,
"'%s' --> '%s'", *LevelToUnloadName, *TargetLevelName);
162 }
163
165}
TArray< ULevelStreamingEffect * > CreateEffects(UObject *Outer) const
Definition LevelStreamingData.cpp:24
Definition LevelStreamingEffect.h:18
FString HandleLevelLoading(ULevelStreamingData *ReqLevelLoadPipelineData, ULevelStreaming *TargetLevel)
Definition LevelStreamingSubsystem.cpp:69
TArray< TObjectPtr< ULevelStreamingEffect > > AllRegisteredEffects
Definition LevelStreamingSubsystem.h:101
bool InvalidateLevelLoadRequest(const ULevelStreamingData *ReqLevelLoadPipelineData, ULevelStreaming *&PreviousLevelStreaming) const
Definition LevelStreamingSubsystem.cpp:37
void SetupEffects(const TArray< ULevelStreamingEffect * > &AllEffects)
이펙트 목록을 Phase별로 분류해 내부 체인 맵을 구성합니다.
Definition EffectChainExecutor.cpp:13
static ULevelStreaming * FindByName(const UWorld *World, FName LevelName)
StreamingLevels에서 에셋 이름이 일치하는 레벨을 반환합니다.
Definition LevelStreamingLocator.cpp:9