public ProfilerManager() { m_coroutineChain = CoroutineManager.Instance.Create() .Enqueue(CoroutineUtils.WaitForSeconds(m_updateDuration)) .Enqueue(UpdateData) .StartCoroutine(); }
private void OnDestroy() { if (m_coroutineChain != null) { m_coroutineChain.StopCoroutine(); m_coroutineChain = null; } }
private void Stop() { m_timerOn = false; if (m_coroutineChain != null) { m_coroutineChain.StopCoroutine(); m_coroutineChain = null; } }
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(); } }
private void UpdateData() { m_fpsData.Update(); if (m_onUpdate != null) { m_onUpdate(); } m_coroutineChain = CoroutineManager.Instance.Create() .Enqueue(CoroutineUtils.WaitForSeconds(m_updateDuration)) .Enqueue(UpdateData) .StartCoroutine(); }
public void Update(float deltaTime) { if (m_environmentLightningView == null || m_environmentLightningSettings == null || !m_timerOn) { return; } m_timer -= deltaTime; if (m_timer <= 0) { m_coroutineChain = CoroutineManager.Instance.Create() .Enqueue(Lightning()) .StartCoroutine(); } }
private void Start() { chain = CoroutineChain.StartChain() .ChainWith(Cube1.Move(Vector3.up, Duration)) .Wait(Duration) .ChainWith(Cube1.Move(Vector3.zero, Duration)) .Wait(Duration) .ChainWith(Cube2.Move(Vector2.one, Duration)) .Wait(Duration) .ChainWith(Cube2.Move(Vector3.right, Duration)) .Wait(Duration) .Parallel(Cube1.Move(Vector3.up, Duration), Cube2.Move(Vector2.one, Duration)) .Log("Parallel Complete!") .Wait(Duration) .Sequential(Cube1.Move(Vector3.zero, Duration), Cube2.Move(Vector3.right, Duration)) .Log("Sequential Complete", ELogType.Normal); }
private IEnumerator Lightning() { m_timerOn = false; m_environmentLightningView.SetEulerAngles(new Vector3(Random.Range(m_environmentLightningSettings.lightningVerticalAngle.x, m_environmentLightningSettings.lightningVerticalAngle.y), Random.Range(0f, 360f), 0)); m_environmentLightningView.SetLightEnabled(true); m_curFlashCount = Random.Range(m_environmentLightningSettings.lightningCount.x, m_environmentLightningSettings.lightningCount.y); while (m_curFlashCount > 0) { m_environmentLightningView.SetIntensity(m_defaultIntensity * Random.Range(m_environmentLightningSettings.lightningIntensity.x, m_environmentLightningSettings.lightningIntensity.y)); yield return(CoroutineUtils.WaitForSeconds(Random.Range(m_environmentLightningSettings.lightningInterval.x, m_environmentLightningSettings.lightningInterval.y))); m_environmentLightningView.SetIntensity(m_defaultIntensity); m_curFlashCount--; } m_environmentLightningView.SetLightEnabled(false); m_timer = Random.Range(m_environmentLightningSettings.lightningTime.x, m_environmentLightningSettings.lightningTime.y); m_timerOn = true; m_coroutineChain.StopCoroutine(); m_coroutineChain = null; }