IEnumerator LoadScene(string vSceneName, ChangeSceneOver vChangeOver)
 {
     // modify by Conglin
     //Application.LoadLevelAsync(vSceneName);
     mLoadingState = UnityEngine.SceneManagement.SceneManager.LoadSceneAsync(vSceneName, UnityEngine.SceneManagement.LoadSceneMode.Single);
     //ResourceLoadManager.Instance.UnloadDependAB();
     if (null == mLoadingState)
     {
         yield break;
     }
     else
     {
         _BeforeSceneName = _NowSceneName;
         _NowSceneName    = vSceneName;
         HintManager.Instance.OpenLoad();
     }
     _crrentSceneState = LoadSceneState.Loading;
     while (!mLoadingState.isDone)
     {
         yield return(0);
     }
     if (ChangeOver != null)
     {
         ChangeOver(vSceneName);
         ChangeOver -= vChangeOver;
     }
     PlayerSceneMusic(vSceneName);
     _crrentSceneState = LoadSceneState.NotLoading;
     HintManager.Instance.CloseLoad();
     mLoadingState = null;
 }
Exemple #2
0
 public void ChangeState(LoadSceneState loadSceneState)
 {
     // change fsm
     if (loadSceneState != levelLoadState)
     {
         levelLoadState = loadSceneState;
         // do stuff based on state change or fire and event.
     }
 }