Esempio n. 1
0
        private void TryStartNextIEnumeratorTask()
        {
            if (m_IEnumeratorTaskList.Count == 0)
            {
                return;
            }

            IEnumeratorTask task = m_IEnumeratorTaskList.First.Value;

            m_IEnumeratorTaskList.RemoveFirst();

            StartCoroutine(task.StartIEnumeratorTask(TryStartNextIEnumeratorTask));
        }
Esempio n. 2
0
        private void TryStartNextIEnumeratorTask()
        {
            if (m_IEnumeratorTaskStack.Count == 0)
            {
                return;
            }

            if (m_CurrentCoroutineCount >= m_MaxCoroutineCount)
            {
                return;
            }

            IEnumeratorTask task = m_IEnumeratorTaskStack.First.Value;

            m_IEnumeratorTaskStack.RemoveFirst();

            ++m_CurrentCoroutineCount;
            StartCoroutine(task.StartIEnumeratorTask(OnIEnumeratorTaskFinish));
        }