private void TryStartNextIEnumeratorTask() { if (m_IEnumeratorTaskList.Count == 0) { return; } IEnumeratorTask task = m_IEnumeratorTaskList.First.Value; m_IEnumeratorTaskList.RemoveFirst(); StartCoroutine(task.StartIEnumeratorTask(TryStartNextIEnumeratorTask)); }
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)); }