public BehaviourTreeNodeDecoratorBuilder(IBehaviourTreeNodeDecorator <TTick, TState> parentNode) { if (parentNode == null) { throw new ArgumentNullException(nameof(parentNode)); } _parentNode = parentNode; }
public void Decorate( IBehaviourTreeNodeDecorator <TTick, TState> node, Action <BehaviourTreeNodeDecoratorBuilder <TTick, TState> > config) { if (node == null) { throw new ArgumentNullException(nameof(node)); } if (config == null) { throw new ArgumentNullException(nameof(config)); } _parentNode.Decorate(node); config(new BehaviourTreeNodeDecoratorBuilder <TTick, TState>(node)); }
public BehaviourTreeNodeSequenceBuilder <TTickData, TState> Add( IBehaviourTreeNodeDecorator <TTickData, TState> node, Action <BehaviourTreeNodeDecoratorBuilder <TTickData, TState> > config) { if (node == null) { throw new ArgumentNullException(nameof(node)); } if (config == null) { throw new ArgumentNullException(nameof(config)); } _parentNode.AddNode(node); config(new BehaviourTreeNodeDecoratorBuilder <TTickData, TState>(node)); return(this); }
public BehaviourTreeNodeRandomBuilder <TTick, TState> Add( uint probability, IBehaviourTreeNodeDecorator <TTick, TState> node, Action <BehaviourTreeNodeDecoratorBuilder <TTick, TState> > config) { if (node == null) { throw new ArgumentNullException(nameof(node)); } if (config == null) { throw new ArgumentNullException(nameof(config)); } _parentNode.AddNode(node, probability); config(new BehaviourTreeNodeDecoratorBuilder <TTick, TState>(node)); return(this); }