IEnumerator RoutineLoadScene(int sceneLevel, CanvasType type, BGMSoundType musicType) { _fadeAnim.Play(_fadeOutHash); yield return(new WaitUntil(() => _fadeScreen.color.a == 1)); LoadSceneByIndex(sceneLevel); CanvasManager.Instance.OpenCanvasUI(type); _fadeAnim.Play(_fadeInHash); AudioManager.Instance.PlayBGMSound(musicType); yield return(new WaitUntil(() => _fadeScreen.color.a == 0)); }
IEnumerator RoutineReloadScene(int sceneLevel, CanvasType type, BGMSoundType musicType) { _fadeAnim.Play(_fadeOutHash); yield return(new WaitUntil(() => _fadeScreen.color.a == 1)); LoadSceneByIndex(sceneLevel); yield return(null); // 씬이 다시 로드 되는 것을 먼저 한 프레임 기다린다. _fadeAnim.Play(_fadeInHash); AudioManager.Instance.UnPauseSound(); AudioManager.Instance.PlayBGMSound(musicType); yield return(new WaitUntil(() => _fadeScreen.color.a == 0)); }
IEnumerator RoutineBackToTheScene(SceneLevel scene, BGMSoundType music) { _fadeAnim.Play(_fadeOutHash); yield return(new WaitUntil(() => _fadeScreen.color.a == 1)); LoadSceneByIndex(scene.SceneToIndex()); while (CanvasManager.Instance.stackCount > scene.SceneToIndex() + 1) { CanvasManager.Instance.CloseCanvasUI(); } AudioManager.Instance.UnPauseSound(); AudioManager.Instance.PlayBGMSound(music); _fadeAnim.Play(_fadeInHash); yield return(new WaitUntil(() => _fadeScreen.color.a == 0)); }
public void BackToTheScene(SceneLevel scene, BGMSoundType music) { StartCoroutine(RoutineBackToTheScene(scene, music)); }
public void ReloadPlayScene(BGMSoundType musicType) { StartCoroutine(RoutineReloadScene(SceneManager.GetActiveScene().buildIndex, CanvasType.Play, musicType)); }
public void LoadSceneByFade(SceneLevel scene, CanvasType canvasType, BGMSoundType musicType) { StartCoroutine(RoutineLoadScene(scene.SceneToIndex(), canvasType, musicType)); }