public void GoToBack() { var previous = Pop(); var loadOperation = UnityEngine.SceneManagement.SceneManager.LoadSceneAsync(previous.sceneName, LoadSceneMode.Single); loadOperation.completed += (result2) => { currentScene = previous; }; }
public void GoToChildScene(string sceneName, object param) { var child = new SceneHistoryData(); child.sceneName = currentScene.sceneName; child.param = param; currentScene.child.Add(child); var op = UnityEngine.SceneManagement.SceneManager.LoadSceneAsync(sceneName, LoadSceneMode.Additive); op.completed += (asyncOperation) => { }; }
public void GoToScene(string sceneName, object param) { var prev = currentScene; var next = new SceneHistoryData(); if (prev == null) { prev = new SceneHistoryData(); var scene = UnityEngine.SceneManagement.SceneManager.GetActiveScene(); prev.sceneName = scene.name; } next.sceneName = sceneName; next.param = param; history.Add(prev); var op = UnityEngine.SceneManagement.SceneManager.LoadSceneAsync(sceneName, LoadSceneMode.Single); op.completed += (asyncOperation) => { currentScene = next; }; }