void PerformNext() { if (queue.Count > 0) { current = queue[0]; queue.RemoveAt(0); SendMessage("Action", current, SendMessageOptions.DontRequireReceiver); currentRoutine = current.Perform(); StartCoroutine(currentRoutine); } }