SceneType 로직 개선

This commit is contained in:
NTG_Lenovo 2025-07-03 13:03:49 +09:00
parent 93b4341a75
commit 5d85d09391
5 changed files with 39 additions and 30 deletions

View File

@ -26,7 +26,7 @@ protected override void OnAwake()
_cinemachineBrain = GetComponent<CinemachineBrain>();
}
public void ChangeScene(string sceneName)
public void ChangeScene(SceneType sceneType)
{
var foundCams = FindObjectsByType<CinemachineCamera>(FindObjectsInactive.Include, FindObjectsSortMode.None);
_cameraDict = new Dictionary<CameraType, CinemachineCamera>(foundCams.Length);
@ -44,7 +44,7 @@ public void ChangeScene(string sceneName)
}
}
if (sceneName == "01.Restaurant")
if (sceneType == SceneType.Restaurant)
{
SwitchCamera(CameraType.BaseCam);
}

View File

@ -2,10 +2,11 @@
using System.Threading.Tasks;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.Serialization;
namespace DDD
{
public enum SceneName
public enum SceneType
{
Title = 0,
Restaurant = 1
@ -13,21 +14,27 @@ public enum SceneName
public class GameManager : Singleton<GameManager>
{
public async Task ChangeScene(SceneName sceneName)
public SceneType CurrentSceneType { get; private set; }
private void Start()
{
CurrentSceneType = SceneType.Title;
}
public async Task ChangeScene(SceneType sceneType)
{
string previousSceneName = SceneManager.GetActiveScene().name;
string changeSceneName;
switch (sceneName)
switch (sceneType)
{
case SceneName.Title:
case SceneType.Title:
changeSceneName = "00.Title";
break;
case SceneName.Restaurant:
case SceneType.Restaurant:
changeSceneName = "01.Restaurant";
break;
default:
throw new ArgumentOutOfRangeException(nameof(sceneName), sceneName, null);
throw new ArgumentOutOfRangeException(nameof(sceneType), sceneType, null);
}
await UiManager.Instance.FadeIn();
@ -37,9 +44,11 @@ public async Task ChangeScene(SceneName sceneName)
await Task.Yield();
// 씬 로딩 후 초기화 작업
UiManager.Instance.ChangeScene(previousSceneName, changeSceneName);
CameraManager.Instance.ChangeScene(changeSceneName);
KeyManager.Instance.ChangeScene(changeSceneName);
UiManager.Instance.ChangeScene(CurrentSceneType, sceneType);
CameraManager.Instance.ChangeScene(sceneType);
KeyManager.Instance.ChangeScene(sceneType);
CurrentSceneType = sceneType;
await Task.Delay(1000);
@ -50,7 +59,7 @@ public async Task ChangeScene(SceneName sceneName)
public void ChangeSceneByIndex(int index)
{
var sceneEnum = (SceneName)index;
var sceneEnum = (SceneType)index;
_ = ChangeScene(sceneEnum);
}
}

View File

@ -28,14 +28,14 @@ protected override void OnAwake()
_currentPlayerInput = GetComponent<PlayerInput>();
}
public void ChangeScene(string sceneName)
public void ChangeScene(SceneType sceneType)
{
switch (sceneName)
switch (sceneType)
{
case "00.Title":
case SceneType.Title:
SwitchCurrentActionMap(InputActionMaps.Ui);
break;
case "01.Restaurant":
case SceneType.Restaurant:
SwitchCurrentActionMap(InputActionMaps.Restaurant);
break;
default:

View File

@ -73,22 +73,22 @@ public async Task FadeOut()
_fadePanel.SetActive(false);
}
public void ChangeScene(string previousSceneName, string changeSceneName)
public void ChangeScene(SceneType currentSceneType, SceneType changeSceneType)
{
if (previousSceneName == "00.Title")
if (currentSceneType == SceneType.Title)
{
_titlePanel.SetActive(false);
}
else if (previousSceneName == "01.Restaurant")
else if (currentSceneType == SceneType.Restaurant)
{
}
if (changeSceneName == "00.Title")
if (changeSceneType == SceneType.Title)
{
_titlePanel.SetActive(true);
}
else if (changeSceneName == "01.Restaurant")
else if (changeSceneType == SceneType.Restaurant)
{
}

View File

@ -4,9 +4,9 @@ SpriteAtlasImporter:
externalObjects: {}
textureSettings:
serializedVersion: 2
anisoLevel: 1
compressionQuality: 50
maxTextureSize: 2048
anisoLevel: 0
compressionQuality: 0
maxTextureSize: 0
textureCompression: 0
filterMode: 1
generateMipMaps: 0
@ -17,10 +17,10 @@ SpriteAtlasImporter:
packingSettings:
serializedVersion: 2
padding: 4
blockOffset: 1
blockOffset: 0
allowAlphaSplitting: 0
enableRotation: 1
enableTightPacking: 1
enableRotation: 0
enableTightPacking: 0
enableAlphaDilation: 0
secondaryTextureSettings: {}
variantMultiplier: 1