씬 리로드 방식 이벤트 방식 -> 게임매니저로 통일
This commit is contained in:
parent
30146c02ce
commit
ea5d822687
@ -2526,12 +2526,13 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 620909d88f805ee4898b9af964a7f0e8, type: 3}
|
m_Script: {fileID: 11500000, guid: 620909d88f805ee4898b9af964a7f0e8, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
<MoveSpeed>k__BackingField: 7
|
_moveSpeed: 7
|
||||||
<MoveSpeedMultiplier>k__BackingField: 1
|
_moveSpeedMultiplier: 1
|
||||||
<DashSpeed>k__BackingField: 20
|
_dashSpeed: 20
|
||||||
<DashTime>k__BackingField: 0.2
|
_dashTime: 0.2
|
||||||
<DashCooldown>k__BackingField: 0.5
|
_dashCooldown: 0.5
|
||||||
_dashParticle: {fileID: 0}
|
_dashParticle: {fileID: 0}
|
||||||
|
_walkingSfxName: TycoonPlayerWalking
|
||||||
_dashSfxName: TycoonPlayerDashing
|
_dashSfxName: TycoonPlayerDashing
|
||||||
cellManager: {fileID: 1015166837}
|
cellManager: {fileID: 1015166837}
|
||||||
--- !u!114 &985479691
|
--- !u!114 &985479691
|
||||||
@ -2601,7 +2602,7 @@ GameObject:
|
|||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 0
|
m_IsActive: 1
|
||||||
--- !u!114 &1015166833
|
--- !u!114 &1015166833
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -15,7 +15,7 @@ public enum CameraType
|
|||||||
|
|
||||||
public class CameraManager : Singleton<CameraManager>
|
public class CameraManager : Singleton<CameraManager>
|
||||||
{
|
{
|
||||||
[ShowInInspector]
|
[ShowInInspector, ReadOnly]
|
||||||
private Dictionary<CameraType, CinemachineCamera> _cameraDict;
|
private Dictionary<CameraType, CinemachineCamera> _cameraDict;
|
||||||
|
|
||||||
private CinemachineBrain _cinemachineBrain;
|
private CinemachineBrain _cinemachineBrain;
|
||||||
@ -27,28 +27,10 @@ protected override void OnAwake()
|
|||||||
_cinemachineBrain = GetComponent<CinemachineBrain>();
|
_cinemachineBrain = GetComponent<CinemachineBrain>();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Start()
|
public void ChangeScene(string sceneName)
|
||||||
{
|
{
|
||||||
SceneManager.sceneLoaded += OnSceneLoaded;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnDestroy()
|
|
||||||
{
|
|
||||||
SceneManager.sceneLoaded -= OnSceneLoaded;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnSceneLoaded(Scene scene, LoadSceneMode mode)
|
|
||||||
{
|
|
||||||
_ = RegisterCinemachineCamerasAsync(scene);
|
|
||||||
}
|
|
||||||
|
|
||||||
private async Task RegisterCinemachineCamerasAsync(Scene scene)
|
|
||||||
{
|
|
||||||
// 씬 로딩 직후는 Hierarchy 반영이 완료되지 않았을 수 있음
|
|
||||||
await Task.Yield(); // 다음 프레임까지 대기
|
|
||||||
|
|
||||||
var foundCams = FindObjectsByType<CinemachineCamera>(FindObjectsInactive.Include, FindObjectsSortMode.None);
|
var foundCams = FindObjectsByType<CinemachineCamera>(FindObjectsInactive.Include, FindObjectsSortMode.None);
|
||||||
_cameraDict.Clear();
|
_cameraDict = new Dictionary<CameraType, CinemachineCamera>(foundCams.Length);
|
||||||
|
|
||||||
foreach (var cam in foundCams)
|
foreach (var cam in foundCams)
|
||||||
{
|
{
|
||||||
@ -63,9 +45,7 @@ private async Task RegisterCinemachineCamerasAsync(Scene scene)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Log("[CameraManager] 카메라 등록 완료");
|
if (sceneName == "01.Restaurant")
|
||||||
|
|
||||||
if (scene.name == "01.Restaurant")
|
|
||||||
{
|
{
|
||||||
SwitchCamera(CameraType.BaseCam);
|
SwitchCamera(CameraType.BaseCam);
|
||||||
}
|
}
|
||||||
|
@ -36,13 +36,16 @@ public async Task ChangeScene(SceneName sceneName)
|
|||||||
while (loadSceneAsync is { isDone: false })
|
while (loadSceneAsync is { isDone: false })
|
||||||
await Task.Yield();
|
await Task.Yield();
|
||||||
|
|
||||||
|
// 씬 로딩 후 초기화 작업
|
||||||
UiManager.Instance.ChangeScene(previousSceneName, changeSceneName);
|
UiManager.Instance.ChangeScene(previousSceneName, changeSceneName);
|
||||||
|
CameraManager.Instance.ChangeScene(changeSceneName);
|
||||||
|
KeyManager.Instance.ChangeScene(changeSceneName);
|
||||||
|
|
||||||
await Task.Delay(1000);
|
await Task.Delay(1000);
|
||||||
|
|
||||||
await UiManager.Instance.FadeOut();
|
await UiManager.Instance.FadeOut();
|
||||||
|
|
||||||
Debug.Log($"씬 로드 및 전환 완료: {changeSceneName}");
|
Debug.Log($"{changeSceneName} 씬으로 전환 완료");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ChangeSceneByIndex(int index)
|
public void ChangeSceneByIndex(int index)
|
||||||
|
@ -24,24 +24,14 @@ public class KeyManager : Singleton<KeyManager>
|
|||||||
|
|
||||||
protected override void OnAwake()
|
protected override void OnAwake()
|
||||||
{
|
{
|
||||||
|
base.OnAwake();
|
||||||
|
|
||||||
_currentPlayerInput = GetComponent<PlayerInput>();
|
_currentPlayerInput = GetComponent<PlayerInput>();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Start()
|
|
||||||
{
|
|
||||||
SceneManager.sceneLoaded += OnSceneLoaded;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnDestroy()
|
|
||||||
{
|
|
||||||
SceneManager.sceneLoaded -= OnSceneLoaded;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnSceneLoaded(Scene scene, LoadSceneMode mode)
|
public void ChangeScene(string sceneName)
|
||||||
{
|
{
|
||||||
string currentSceneName = SceneManager.GetActiveScene().name;
|
switch (sceneName)
|
||||||
|
|
||||||
switch (currentSceneName)
|
|
||||||
{
|
{
|
||||||
case "00.Title":
|
case "00.Title":
|
||||||
SwitchCurrentActionMap(InputActionMaps.Ui);
|
SwitchCurrentActionMap(InputActionMaps.Ui);
|
||||||
|
@ -67,8 +67,9 @@ public async Task FadeOut()
|
|||||||
}
|
}
|
||||||
|
|
||||||
_fadeOut.Restart();
|
_fadeOut.Restart();
|
||||||
|
|
||||||
await _fadeOut.AsyncWaitForCompletion();
|
await _fadeOut.AsyncWaitForCompletion();
|
||||||
|
|
||||||
_fadePanel.SetActive(false);
|
_fadePanel.SetActive(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user