SceneType Dictionary 관리

This commit is contained in:
NTG_Lenovo 2025-07-03 13:10:13 +09:00
parent 5d85d09391
commit 3d2b794f66

View File

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