public override IEnumerator<NodeResult> NodeTask()
{
var children = this.children.ToArray ();
while (true) {
var childrenExist = false;
for (var i=0; i<children.Length; i++) {
var child = children [i];
if(!child.enabled) continue;
childrenExist = true;
var task = child.GetNodeTask ();
while(task.MoveNext ()) {
if(task.Current == NodeResult.Continue)
yield return NodeResult.Continue;
else
break;
}
}
if(!childrenExist)
yield return NodeResult.Continue;
}
}