private IEnumerator CreateLoadingCoroutine(IEnumerator cor, LoadingCoroutineObj loadCor) { while (cor.MoveNext()) { yield return(null); } loadCor.isDone = true; }
public void Dequeue(IUUebView view) { lock (lockObj) { while (0 < queuedCoroutines.Count) { var cor = queuedCoroutines.Dequeue(); var loadCorObj = new LoadingCoroutineObj(); var loadingCor = CreateLoadingCoroutine(cor, loadCorObj); view.StartCoroutine(loadingCor); // collect loading coroutines. AddLoading(loadCorObj); } while (0 < unmanagedCoroutines.Count) { var cor = unmanagedCoroutines.Dequeue(); view.StartCoroutine(cor); } } }
private void AddLoading(LoadingCoroutineObj runObj) { loadingCoroutines.Add(runObj); }