//--------------------------------------------------------------- /* * @brief シーンを遷移する * @param[in] GameModeData.GAMEMODE 遷移先シーン */ //--------------------------------------------------------------- public void ChangeScene(GameModeData.GAMEMODE next) { Debug.Log("Change Scene Start [ To: " + GameModeData.GameMode + " From: " + next + " ]"); m_bLoad = true; StartCoroutine(LoadSceneAsync(next)); }
IEnumerator LoadSceneAsync(GameModeData.GAMEMODE next) { // フェードアウトしてから GameFadeManager.Instance.StartFade(GameFadeManager.FadeType.FADE_OUT, 30); while (GameFadeManager.Instance.IsFade()) { yield return(null); } // シーンの非同期読み込み string sceneName = GameResourcePath.GetSceneName(next); AsyncOperation asyncOP = SceneManager.LoadSceneAsync(sceneName); while (!asyncOP.isDone) { yield return(null); } GameModeData.ChangeGameMode(next); // フェードイン GameFadeManager.Instance.StartFade(GameFadeManager.FadeType.FADE_IN, 30); while (GameFadeManager.Instance.IsFade()) { yield return(null); } m_bLoad = false; }
public static string GetSceneName(GameModeData.GAMEMODE mode) { switch (mode) { case GameModeData.GAMEMODE.GAME_MODE_BOOT: return(BootSequence); case GameModeData.GAMEMODE.GAME_MODE_STAGE: return(Stage[GameModeData.StageCount]); case GameModeData.GAMEMODE.GAME_MODE_TITLE: return(Title); } return(BootSequence); }