public override State Update() { var state = _current.Recalculate() ? _current.Start() : _current.Update(); if (state == State.FAILURE) { return(CalculateState(State.FAILURE)); } else if (state == State.SUCCESS) { return(ToNextNode()); } else { return(State.IN_PROGRESS); } }
IEnumerator Routine() { while (true) { if (currentNode == null) { DefineNode(); } if (currentNode != null) { var state = currentNode.Recalculate() ? currentNode.Start() : currentNode.Update(); if (state != BehaviourNode <X> .State.IN_PROGRESS) { currentNode = null; } } yield return(null); } }
public override State Update() { return(_currentNode.Recalculate() ? _currentNode.Start() : _currentNode.Update()); }