본문으로 건너뛰기

AchSceneManager

비동기 씬 전환을 제공하며, IScene 인터페이스를 통해 씬 라이프사이클을 관리합니다.

IScene 구현

씬 루트 GameObject에 IScene을 구현하는 컴포넌트를 붙이세요.

public class GameScene : MonoBehaviour, IScene
{
public async Task OnSceneStart() { /* 초기화 */ }
public Task OnSceneEnd() => Task.CompletedTask;
}

API

var sm = ServiceLocator.Resolve<AchSceneManager>();

// 씬 전환
await sm.LoadSceneAsync("Lobby");

// 현재 씬 재로드
await sm.ReloadSceneAsync();

// 씬 언로드 (멀티씬)
await sm.UnloadSceneAsync("SubScene");

// 이벤트 구독
sm.OnSceneLoadStarted += ShowLoadingUI;
AchSceneManager.OnSceneLoadCompleted += HideLoadingUI;

AchSceneManager는 Unity의 UnityEngine.SceneManagement.SceneManager와 이름 충돌을 피하기 위해 접두사를 붙였습니다.