public BehaviourTreeNodeSequenceBuilder(IBehaviourTreeNodeSequence <TTickData, TState> parentNode) { if (parentNode == null) { throw new ArgumentNullException(nameof(parentNode)); } _parentNode = parentNode; }
public void Root(IBehaviourTreeNodeSequence <TTickData, TState> root, Action <BehaviourTreeNodeSequenceBuilder <TTickData, TState> > config) { var rootBuilder = new BehaviourTreeNodeSequenceBuilder <TTickData, TState>(root); config(rootBuilder); SetRootInternal(root); }
public void Decorate( IBehaviourTreeNodeSequence <TTick, TState> node, Action <BehaviourTreeNodeSequenceBuilder <TTick, TState> > config) { if (node == null) { throw new ArgumentNullException(nameof(node)); } if (config == null) { throw new ArgumentNullException(nameof(config)); } _parentNode.Decorate(node); config(new BehaviourTreeNodeSequenceBuilder <TTick, TState>(node)); }
public BehaviourTreeNodeSequenceBuilder <TTickData, TState> Add( IBehaviourTreeNodeSequence <TTickData, TState> node, Action <BehaviourTreeNodeSequenceBuilder <TTickData, TState> > config) { if (node == null) { throw new ArgumentNullException(nameof(node)); } if (config == null) { throw new ArgumentNullException(nameof(config)); } _parentNode.AddNode(node); config(new BehaviourTreeNodeSequenceBuilder <TTickData, TState>(node)); return(this); }