public AsyncOperation PreGamescene; //游戏的预加载场景 /// <summary> /// 预加载游戏场景 /// </summary> /// <param name="scene"></param> public void PreloadScene(ESCENE scene) { if (UnityEngine.SceneManagement.SceneManager.GetSceneByName(scene.ToString()).name == null) { PreGamescene = UnityEngine.SceneManagement.SceneManager.LoadSceneAsync(scene.ToString(), UnityEngine.SceneManagement.LoadSceneMode.Additive); PreGamescene.allowSceneActivation = false; } }
public void LoadSceneSingle(ESCENE scene) { leavingScene = enteringScene; enteringScene = scene; sceneManagerHelper.leavingScene = leavingScene; sceneManagerHelper.enteringScene = enteringScene; Leave(); UnityEngine.SceneManagement.SceneManager.LoadScene(scene.ToString(), UnityEngine.SceneManagement.LoadSceneMode.Single); }
/// <summary> /// 加载场景 /// </summary> /// <param name='scene'>场景</param> public void LoadScene(ESCENE scene) { leavingScene = enteringScene; enteringScene = scene; sceneManagerHelper.leavingScene = leavingScene; sceneManagerHelper.enteringScene = enteringScene; Leave(); sceneManagerHelper.LoadLevel(scene.ToString()); }
/// <summary> /// 进入场景 /// </summary> private void Enter() { if (CurrentScene == EnteringScene) { return; } //if (PlayBack_1.PlayBackData.isComePlayBack) //{ // return; //} if (OnEnterScene != null) { OnEnterScene(this); } CurrentScene = EnteringScene; sceneManagerHelper.currentScene = CurrentScene; float time = Time.realtimeSinceStartup - timer; DEBUG.LogTracer("SceneManager 加载场景: " + CurrentScene.ToString() + " 花费了 [ " + time + " ] 秒"); }