// Coroutine has finished running void CoroutineComplete() { if (currentCoroutine != null) { StopCoroutine(currentCoroutine); } coroutines.RemoveAt(0); if (coroutines.Count == 0) { coroutineRunning = false; } else { currentCoroutine = StartCoroutine(coroutines[0]); } debug.Output("Queued coroutines", coroutines.Count.ToString()); }