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との名前衝突を避けるためプレフィックスを付けています。