IEnumerator LoadWarSupportPlayerViewScene_Impl(System.Action <SceneResInfoManager> callBack) { if (AssetBundleManager.isCanLoadLevel(WarSupportPlayerViewSceneName)) { if (SceneResInfoManager.CurrentActiveInstance) { backOldSupportSceneName = SceneResInfoManager.CurrentActiveInstance.sceneName; } AssetBundleManager.LoadLevelAdditive(WarSupportPlayerViewSceneName); DeActiveScene(backOldSupportSceneName); /*为什么要两帧??因为一个是本帧,另一个才是下一帧..*/ yield return(new WaitForEndOfFrame()); yield return(new WaitForFixedUpdate()); SceneResInfoManager manager = SceneResInfoManager.API_GetSceneResManager(WarSupportPlayerViewSceneName); ImageSetting.Apply(true); if (manager) { ActiveScene(WarSupportPlayerViewSceneName); manager.SceneRoot.transform.SetPosition(Vector3.one * -999); } InvokeSceneActiveChangeEvent(WarSupportPlayerViewSceneName); isLoadingWarSupportPlayerViewScene = false; if (isElaryUnLoadSupportScene) { isElaryUnLoadSupportScene = false; UnLoadWarSupportPlayerViewScene(); yield break; } if (null != callBack) { callBack(manager); } } else { isLoadingWarSupportPlayerViewScene = false; } }
public void OnFinish() { double loadSceneFinishTime = DateTime.Now.Ticks; ResourceEx.Collect(); AdorningManager.Init(); GrassAdorningManager.Init(); ImageSetting.OnSceneLoadFinish(); ImageSetting.Apply(true); //ImageSetting.ApplySceneImageSetting(SceneResInfoManager.CurrentActiveInstance, true); LightingEffectFactory.DisableDeadEffect(); // 场景地图资源加载完后开始播放背景音乐 //SoundManager.CreateUISound(StageManager.Instance.getSoundID()); if (SoldierCamera.MainInstance() != null) { SoldierCamera.MainInstance <SoldierCamera>().updateCameraParam(m_curMapID, -1); } loadSceneFinishTime = DateTime.Now.Ticks - loadSceneFinishTime; loadSceneFinishTime *= 0.0000001f; Debug.Log("场景加载完成阶段,耗时:" + loadSceneFinishTime); double time = DateTime.Now.Ticks - sceneLoadBegainTime; time *= 0.0000001f; Debug.Log("SceneLoad::DoTask 资源加载成功,场景名称 = " + m_SceneName + ",耗时:" + time); InvokeSceneLoadFinishEvent(m_SceneName); StartCoroutine(WaitTransitionFinish()); InvokeSceneTransitionStartEvent(m_SceneName); }