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