public void LoadScene(string sceneName) { SingletonManager.GetSingleton <InputManager> ().ClearKeys(); string previousScene = GetCurrentActiveScene().name; UnityEngine.SceneManagement.SceneManager.LoadSceneAsync(sceneName, LoadSceneMode.Additive).completed += (op) => { var previousSceneController = CurrentSceneController; CurrentScene = UnityEngine.SceneManagement.SceneManager.GetSceneByName(sceneName); UnityEngine.SceneManagement.SceneManager.UnloadSceneAsync(previousScene).completed += (op2) => { previousSceneController.OnSceneUnload(); UnityEngine.SceneManagement.SceneManager.SetActiveScene(CurrentScene); CurrentSceneController = GetSceneController(); CurrentSceneController.OnSceneLoad(); }; }; }
public void Initialize() { this.SubscribeAsSingleton(); CurrentSceneController = GetSceneController(); CurrentSceneController.OnSceneLoad(); }