/// <summary> /// どのシーンから初めても初期化する /// </summary> private void SetFirstScene() { if (SceneManager.GetActiveScene().name == m_title.Name) { m_currentScene = m_title; } else if (SceneManager.GetActiveScene().name == m_revised.Name) { m_currentScene = m_revised; } else if (SceneManager.GetActiveScene().name == m_battle.Name) { m_currentScene = m_battle; } else if (SceneManager.GetActiveScene().name == m_result.Name) { m_currentScene = m_result; } else if (SceneManager.GetActiveScene().name == m_captureTutorial.Name) { m_currentScene = m_captureTutorial; } else if (SceneManager.GetActiveScene().name == m_battleTutorial.Name) { m_currentScene = m_battleTutorial; } else if (SceneManager.GetActiveScene().name == m_ending.Name) { m_currentScene = m_ending; } // 初期化する m_currentScene.Initialize(this); }
/// <summary> /// シーンを変更する /// </summary> /// <param name="nextScene">次のシーン名</param> /// <param name="mode">ロードシーンモード</param> public async void ChangeScene(IScene_Script nextScene, LoadSceneMode mode = LoadSceneMode.Single) { await TransitionManager_Script.OnTransitionFinishedAsync(); // 終了処理をする m_currentScene.Dispose(); // 次のシーンを設定する m_currentScene = nextScene; // 遷移する //TransitionManager_Script.StartTransition(m_currentScene.Name, mode); // ActiveSceneを切り替える if (SceneManager.GetActiveScene().isLoaded) { SceneManager.SetActiveScene(SceneManager.GetSceneByName(m_currentScene.Name)); } // 初期化する m_currentScene.Initialize(this); }