private IEnumerator ClearNext() { timerGoing = true; for (float i = 0; i < LIFESPAN; i += Time.deltaTime) { if (restartTimer) { restartTimer = false; StartCoroutine(ClearNext()); yield break; } yield return(null); } if (!Head.IsEmpty()) { Head = Head.GetNext(); length -= 1; StartCoroutine(ClearNext()); } else { timerGoing = false; } }