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>(); _cinemachineBrain = GetComponent<CinemachineBrain>();
} }
public void ChangeScene(string sceneName) public void ChangeScene(SceneType sceneType)
{ {
var foundCams = FindObjectsByType<CinemachineCamera>(FindObjectsInactive.Include, FindObjectsSortMode.None); var foundCams = FindObjectsByType<CinemachineCamera>(FindObjectsInactive.Include, FindObjectsSortMode.None);
_cameraDict = new Dictionary<CameraType, CinemachineCamera>(foundCams.Length); _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); SwitchCamera(CameraType.BaseCam);
} }

View File

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

View File

@ -28,14 +28,14 @@ protected override void OnAwake()
_currentPlayerInput = GetComponent<PlayerInput>(); _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); SwitchCurrentActionMap(InputActionMaps.Ui);
break; break;
case "01.Restaurant": case SceneType.Restaurant:
SwitchCurrentActionMap(InputActionMaps.Restaurant); SwitchCurrentActionMap(InputActionMaps.Restaurant);
break; break;
default: default:

View File

@ -73,22 +73,22 @@ public async Task FadeOut()
_fadePanel.SetActive(false); _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); _titlePanel.SetActive(false);
} }
else if (previousSceneName == "01.Restaurant") else if (currentSceneType == SceneType.Restaurant)
{ {
} }
if (changeSceneName == "00.Title") if (changeSceneType == SceneType.Title)
{ {
_titlePanel.SetActive(true); _titlePanel.SetActive(true);
} }
else if (changeSceneName == "01.Restaurant") else if (changeSceneType == SceneType.Restaurant)
{ {
} }

View File

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