IEnumerator LoadScene() { //m_ClipSlider.SetNextProgress(0.9f); LabelLoadingProgressNum1.text = "90%"; LabelLoadingProgressNum2.text = "90%"; SliderLoading1.value = 0.9f; BundleManager.ReleaseSingleBundle(); BundleManager.CleanBundleLoadQueue(); BundleManager.ReleaseUIRefBundle(); BundleManager.DoUnloadUnuseBundle(); Obj_Character.s_hasPlayedBornEffectObjIdList.Clear(); if (null != m_lastSceneBundle) { m_lastSceneBundle.Unload(false); m_lastSceneBundle = null; } ResourcesManager.Instance.UnLoadAll(); BundleManager.ReleaseUIGroupBundle(); if (nextSceneID != (int)Games.GlobeDefine.GameDefine_Globe.SCENE_DEFINE.SCENE_LOGIN) { BundleManager.ReleaseLoginBundle(); LogModule.ErrorLog("Resources.UnloadUnusedAssets"); yield return(Resources.UnloadUnusedAssets()); System.GC.Collect(); yield return(StartCoroutine(BundleManager.LoadMainUI())); yield return(StartCoroutine(BundleManager.LoadUI(UIInfo.JoyStickRoot, null, null, null))); DamageBoardManager.PreloadDamageBoard(); } else { BundleManager.ReleaseGroupBundle(); LogModule.ErrorLog("Resources.UnloadUnusedAssets"); yield return(Resources.UnloadUnusedAssets()); System.GC.Collect(); yield return(StartCoroutine(BundleManager.LoadLoginUI())); } yield return(StartCoroutine(BundleManager.LoadCommonShader())); if (nextSceneID == (int)Games.GlobeDefine.GameDefine_Globe.SCENE_DEFINE.SCENE_LOGIN) { GameManager.gameManager.RunningScene = (int)LoadingWindow.nextSceneID; AsyncOperation curAsync = Application.LoadLevelAsync((int)LoadingWindow.nextSceneID); while (!curAsync.isDone) { //SetProgress(curAsync.progress); //m_ClipSlider.SetNextProgress(0.9f + 0.1f * curAsync.progress); StringBuilder sb = new StringBuilder(""); sb.AppendFormat("{0}%", (int)(curAsync.progress * 100)); LabelLoadingProgressNum1.text = sb.ToString(); LabelLoadingProgressNum2.text = sb.ToString(); SliderLoading1.sliderValue = curAsync.progress; //loadingSlider.value = curAsync.progress; yield return(null); } //m_ClipSlider.SetProgress(1f); LabelLoadingProgressNum1.text = "100%"; LabelLoadingProgressNum2.text = "100%"; SliderLoading1.sliderValue = 1.0f; //loadingSlider.value = 1; } else { m_ClipSlider.SetNextProgress(1f); SliderLoading1.sliderValue = 0.95f; LabelLoadingProgressNum2.text = "95%"; // 这个地方改为读表,不读GlobeDefine的静态字符串 Tab_SceneClass sceneClass = TableManager.GetSceneClassByID((int)LoadingWindow.nextSceneID, 0); if (sceneClass == null) { LogModule.ErrorLog("Cant load scene id: {0}", (int)LoadingWindow.nextSceneID); yield return(null); } else { yield return(StartCoroutine(BundleManager.LoadScene(sceneClass.ResName, LoadSceneFinish))); } } }