public override IEnumerator<NodeResult> NodeTask()
{
if (ChildIsMissing ()) {
yield return NodeResult.Failure;
yield break;
}
if (lastRunTime < 0)
lastRunTime = Time.time;
var T = Time.time - lastRunTime;
if (T > seconds) {
lastRunTime = Time.time;
var task = children [0].GetNodeTask ();
while (task.MoveNext ()) {
var t = task.Current;
if (t == NodeResult.Continue) {
yield return NodeResult.Continue;
} else if (t == NodeResult.Success) {
yield return NodeResult.Success;
break;
} else if (t == NodeResult.Failure) {
yield return NodeResult.Failure;
break;
}
}
} else {
yield return NodeResult.Failure;
}
}