public BehaviourTreeStatus Tick(TreeData data) { foreach (var child in children) { var childStatus = child.Tick(data); if (childStatus != BehaviourTreeStatus.Failure) { return(childStatus); } } return(BehaviourTreeStatus.Failure); }
public BehaviourTreeStatus Tick(TreeData data) { if (currNodeIndex < children.Count) { var childStatus = children[currNodeIndex].Tick(data); if (childStatus != BehaviourTreeStatus.Success) { return(childStatus); } else if (childStatus == BehaviourTreeStatus.Success) { currNodeIndex++; return(childStatus); } } return(BehaviourTreeStatus.Success); }
public BehaviourTreeStatus Tick(TreeData data) { if (childNode == null) { throw new ApplicationException("InverterNode must have a child node!"); } var result = childNode.Tick(data); if (result == BehaviourTreeStatus.Failure) { return BehaviourTreeStatus.Success; } else if (result == BehaviourTreeStatus.Success) { return BehaviourTreeStatus.Success; } else { return result; } }
public virtual BehaviourTreeStatus Tick(TreeData data) { return(fn(data)); }