diff --git a/Assets/_Datas/02.Scripts/Controllers/GameManager.cs b/Assets/_Datas/02.Scripts/Controllers/GameManager.cs index 842860851..1e7cd89a7 100644 --- a/Assets/_Datas/02.Scripts/Controllers/GameManager.cs +++ b/Assets/_Datas/02.Scripts/Controllers/GameManager.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.Threading.Tasks; using UnityEngine; using UnityEngine.SceneManagement; @@ -14,6 +15,12 @@ public enum SceneType public class GameManager : Singleton { + private static readonly Dictionary SceneTypeDict = new() + { + { SceneType.Title, "00.Title" }, + { SceneType.Restaurant, "01.Restaurant" } + }; + public SceneType CurrentSceneType { get; private set; } private void Start() @@ -23,18 +30,10 @@ private void Start() public async Task ChangeScene(SceneType sceneType) { - string changeSceneName; - - switch (sceneType) + if (!SceneTypeDict.TryGetValue(sceneType, out string changeSceneName)) { - case SceneType.Title: - changeSceneName = "00.Title"; - break; - case SceneType.Restaurant: - changeSceneName = "01.Restaurant"; - break; - default: - throw new ArgumentOutOfRangeException(nameof(sceneType), sceneType, null); + Debug.LogError($"[GameManager] 정의되지 않은 SceneType: {sceneType}"); + return; } await UiManager.Instance.FadeIn(); @@ -51,7 +50,6 @@ public async Task ChangeScene(SceneType sceneType) CurrentSceneType = sceneType; await Task.Delay(1000); - await UiManager.Instance.FadeOut(); Debug.Log($"{changeSceneName} 씬으로 전환 완료");