void Update() { if (_NextSceneID != SceneID.NULL && _AsyncObject == null) { //加载场景 AsyncLoadScene(_NextSceneID); Debug.Log("START LOAD SCENE" + _NextSceneID.ToString()); } //异步加载场景OK if (_AsyncObject != null && _AsyncObject.isDone && LoadedReady) { SceneTransitionData sd = GetSceneData(_NextSceneID); if (sd.CurrentSceneID == _LoadedSceneID) { Debug.Log("Scene " + sd.SceneName + " AsyncLoaded."); _NextSceneID = SceneID.NULL; _LoadedSceneID = SceneID.NULL; _CurrSceneID = sd.CurrentSceneID; _AsyncObject = null; } else { Debug.Log("Scene Loading AsyncLoaded. Load Next Scene"); AsyncLoadScene(_NextSceneID); } } }
/// <summary> /// 次のシーンに行かせる処理です。 /// 切り替えたいシーンを引数で設定してください。 /// </summary> /// <param name="nextScene"></param> public void ChangeScene(SceneID nextScene) { // 例外処理 ---------------------------------------------// if (nextScene == SceneID.MAX) { Debugger.LogError("そんなシーンはありません。"); } if (nextScene == nowScene) { Debugger.LogWarning("同じシーンが設定されています。"); } // -------------------------------------------------------// // 次のシーンを表示 sceneList[(int)nextScene].behaviour.gameObject.SetActive(true); // 現在のシーンを非表示 sceneList[(int)nowScene].behaviour.gameObject.SetActive(false); // 現在のシーンの終了処理 sceneList[(int)nowScene].behaviour.Finish(); nowScene = nextScene; Debugger.Log(">> ChangeScene"); Debugger.Log(nowScene.ToString()); }
public static void SetupScene(SceneID id) { if (singleton == null) { Debug.LogError("SceneManager_VS.SetupScene(" + id.ToString() + ") called, but singleton was NULL! Aborting."); return; } singleton._SetupScene(id); }
Scene ISceneLoader.LoadScene(SceneID map, bool forceReload) { if (forceReload) { loadedScenes.Remove(map.ToString()); } QuickGameScene ret = loadedScenes.TryGet(map.ToString()); if (ret != null) { SetIntersceneActorPositions(ret); LastScene = ret; QuickGameScene.Current = ret; return(ret); } if (MasterTemplate == null) { MasterTemplate = new MapTemplate("map", new Vector2(16, 16)); } if (map == Scenes.Intro) { return(new IntroScene()); } ret = new QuickGameScene(map, MasterTemplate); SetIntersceneActorPositions(ret); DebugText.NewTextPosition = new Vector2(50, 50); LastScene = ret; if (!forceReload) { loadedScenes.Add(map.ToString(), ret); } return(ret); }
protected virtual void EnterReconnectState(fsm.State _from, fsm.State _to, fsm.Event _event) { LynSdkManager.Instance.ReportConnectionLose(SceneID.ToString(), "游戏过程中,Socket的连接装备变为false,可能是服务端主动断开或者其他网络异常!"); hasConnectedQueueServer = false; lastConnectState = false; failCount = 0; hasNetClosed = false; if (GameCenter.sceneMng != null) { GameCenter.sceneMng.CleanAll(); } GameCenter.instance.IsReConnecteding = true; NetMsgMng.ConectClose(); startConnectTime = Time.time; startConnectTimeForConetWnd = Time.time; GameCenter.uIMng.SwitchToUI(GUIType.AUTO_RECONNECT); GameCenter.uIMng.ReleaseGUI(GUIType.PANELLOADING); }
public static void ChangeScene(SceneID sceneID) { var lastSceneID = GetSceneID(); if (lastSceneID == sceneID) { GameLog.Log("[ChangeScene]current scene is the target... sceneID:" + sceneID.ToString()); return; } if (IsLoading()) { GameLog.Log("[ChangeScene]current scene is loading....:" + lastSceneID.ToString() + sceneID.ToString()); return; } // 打开遮羞布,过渡场景,或者过渡UI ExitLastScene(); //新场景的加载 EnterCurrentScene(sceneID); // 场景加载回调关闭遮羞布 }
public static void Load(SceneID scene) { SceneManager.LoadScene(scene.ToString()); }
private Stream GetFileStream(SceneID sceneID) { //todo, use resource var path = @"C:\Users\Miko\Documents\GitHub\Simple2DGame\QuickGame1\Content\Maps\" + sceneID.ToString() + ".map"; return(File.Open(path, FileMode.OpenOrCreate)); }
/// <inheritdoc/> public override string ToString() { return(SceneID.ToString()); }
//------------------------------------------------------------------------------------ // 指定シーンのロード public void LoadScene() { OpenEditorScene(loadScene.ToString()); }