/// <summary> /// シーンロード /// </summary> private static void LoadSceneAsync(SceneDataPackBase dataPack) { //Header非表示 ※次のシーンでも表示が続くなら非表示にしない方が良いか? SharedUI.Instance.HideHeader(); //ロード開始 SceneManager.LoadSceneAsync(dataPack.toSceneName).completed += (op) => { //シーン取得 currentSceneName = dataPack.toSceneName; currentScene = SceneManager .GetSceneByName(currentSceneName) .GetRootGameObjects() .Select(g => g.GetComponent <SceneBase>()) .First(s => s != null); if (IsAutoHideLoading) { //シーン移動アニメーション終了 SharedUI.Instance.HideSceneChangeAnimation(); } //ロード完了通知 IsLoading = false; currentScene.OnSceneLoaded(dataPack); }; }
public void EnterScene(SceneBase scene) { if (CurrentScene != null) { CurrentScene.OnSceneWillUnload(); CurrentScene.OnSceneUnloaded(); } CurrentScene = scene; CurrentScene.OnSceneWillLoad(); CurrentScene.OnSceneLoaded(); }