Esempio n. 1
0
 public ProfilerManager()
 {
     m_coroutineChain = CoroutineManager.Instance.Create()
                        .Enqueue(CoroutineUtils.WaitForSeconds(m_updateDuration))
                        .Enqueue(UpdateData)
                        .StartCoroutine();
 }
Esempio n. 2
0
 private void OnDestroy()
 {
     if (m_coroutineChain != null)
     {
         m_coroutineChain.StopCoroutine();
         m_coroutineChain = null;
     }
 }
Esempio n. 3
0
 private void Stop()
 {
     m_timerOn = false;
     if (m_coroutineChain != null)
     {
         m_coroutineChain.StopCoroutine();
         m_coroutineChain = null;
     }
 }
Esempio n. 4
0
    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();
     }
 }
Esempio n. 6
0
        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();
        }
Esempio n. 7
0
        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);
 }
Esempio n. 9
0
        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;
        }