IEnumerator Updater() { while (true) { Profiler.BeginSample("React", this); taskList.Update(); while (!waitingNodes.IsEmpty && waitingNodes.First.IsReady) { var top = waitingNodes.Pop(); BaseNode.ExecuteNode(top.Child); } Profiler.EndSample(); yield return(null); } }