씬 전환을 더욱 부드럽게 연출하기 위해 씬 전환용 로딩 UI를 만들었습니다.
추가적으로 씬 로딩 로직에 이전 씬 언로드도 추가했습니다.
로딩용 UI는 Lobby Scene ↔ Game Scene만 작동하도록 로딩 메소드에 bool 인자를 넣었습니다.
시작 직후 사전 로딩부터 나올만한 요소는 아니잖아요.
UI 자체는 생각하시는 대로 로딩 로직에
-UI 생성
-UI 활성화
-기존 씬 전환 로직
-UI 비활성화
-UI 제거
를 더한 것 뿐이고, 나름 의미있는 개발 요소는 다음과 같습니다.

기존에 씬 변경이 완료되면 LocalManager에서 Awake를 실행해 각종 세팅 및 플로우를 자동으로 실행시켰습니다.
이번에 로딩용 UI를 만들게 되면서 기존 LocalManager의 자동 실행 로직이 방해가 되더랍니다.
그래서 Awake 부분을 외부에서 직접 호출하도록 수정했습니다.
LocalManager에서 UI 및 세팅 부분을 담당하는 InitializeAsync
LocalManager에서 씬 시작을 명령하는 Play로 분리했습니다.
SceneProvider에서 이 LocalManager를 어케 가져오냐???
LocalManager localManager = null;
foreach (var root in handle.Result.Scene.GetRootGameObjects())
{
localManager = root.GetComponentInChildren<LocalManager>(true);
if (localManager != null)
{
await localManager.InitializeAsync();
break;
}
}
별거 있겠습니까, 그냥 Find시켰습니다.

Game Scene 자체는 LocalManager 외엔 텅 비어있는거라 이거 하나 찾아온다고 무거워질 일도 없겠죠.
다음에 할거: 일단 생각해보기
'무제_LR' 카테고리의 다른 글
| ChatCard(가제) 추가, Runtime Pivot 수정 주의점 (0) | 2026.01.04 |
|---|---|
| Effect Prefab 생성 - Pooling (0) | 2026.01.02 |
| 다이어로그 - Talking, Selection 구현 (0) | 2025.12.29 |
| 다이어로그 에디터 - csv->Localization 및 TalkingData 툴 완성 (0) | 2025.12.21 |
| 다이어로그 에디터 툴 - 선택지 툴, Dirty 체크 (0) | 2025.12.19 |