IEnumerator DoActionLoadScene(string _nameScene) { bool _isFinished = false; Show(false, () => { _isFinished = true; }); yield return(new WaitUntil(() => _isFinished)); yield return(Yielders.EndOfFrame); DateTime _timeStart = DateTime.UtcNow; CoroutineChain.StopAll(); LeanTween.cancelAll(true); CoreGameManager.instance.ClearAllCallbackPressBackKey(); PopupManager.Instance.UnActiveAllPopups(); LoadingCanvasController.instance.Hide(); GetGoldScreenController.instance.ForcedHide(); SettingScreenController.instance.ForcedHide(); ChooseSubGameScreenController.instance.ForcedHide(); MyAudioManager.instance.StopAll(); CoreGameManager.instance.currentSceneManager = null; // AudioManager.PauseMusic (); // AudioManager.instance.isStopPlayingNewSound = true; var asyncLoad = SceneManager.LoadSceneAsync(_nameScene, LoadSceneMode.Single); yield return(new WaitUntil(() => asyncLoad.isDone)); if (myCanvas.worldCamera == null) { myCanvas.worldCamera = Camera.main; } yield return(Resources.UnloadUnusedAssets()); yield return(new WaitUntil(() => CoreGameManager.instance.currentSceneManager != null && CoreGameManager.instance.currentSceneManager.canShowScene)); long _timeLoadScene = (long)(DateTime.UtcNow - _timeStart).TotalMilliseconds; while (_timeLoadScene < 1000) { yield return(null); _timeLoadScene = (long)(DateTime.UtcNow - _timeStart).TotalMilliseconds; } // AudioManager.instance.isStopPlayingNewSound = false; Hide(false); yield break; }
private void Update() { if (Input.GetKeyUp(KeyCode.A)) { chain.RunCoroutine(); } if (Input.GetKeyUp(KeyCode.D)) { CoroutineChain.StopAll(); } }