public static BehaviourTreeNodeSequenceBuilder <TTickData, TState> Parallel <TTickData, TState>( this BehaviourTreeNodeSequenceBuilder <TTickData, TState> builder, string name, int successCount, int failureCount, Action <BehaviourTreeNodeSequenceBuilder <TTickData, TState> > config) { var newNode = new ParallelNode <TTickData, TState>(name, successCount, failureCount); return(builder.Add(newNode, config)); }
public static BehaviourTreeNodeSequenceBuilder <TTickData, TState> Succeeder <TTickData, TState>( this BehaviourTreeNodeSequenceBuilder <TTickData, TState> builder, string name, Action <BehaviourTreeNodeDecoratorBuilder <TTickData, TState> > config) { var newNode = new SucceederNode <TTickData, TState>(name); return(builder.Add(newNode, config)); }
public static BehaviourTreeNodeSequenceBuilder <TTickData, TState> Do <TTickData, TState>( this BehaviourTreeNodeSequenceBuilder <TTickData, TState> builder, string name, Func <TTickData, TState, BehaviourTreeState> action) { var newNode = new ActionNode <TTickData, TState>(name, action); return(builder.Add(newNode)); }
public static BehaviourTreeNodeSequenceBuilder <TTickData, TState> Sequence <TTickData, TState>( this BehaviourTreeNodeSequenceBuilder <TTickData, TState> builder, string name, Action <BehaviourTreeNodeSequenceBuilder <TTickData, TState> > config, bool stateful = false) { var newNode = new SequenceNode <TTickData, TState>(name, stateful); return(builder.Add(newNode, config)); }
public static BehaviourTreeNodeSequenceBuilder <TTickData, TState> Condition <TTickData, TState>( this BehaviourTreeNodeSequenceBuilder <TTickData, TState> builder, string name, Func <TTickData, TState, bool> predicate) { var newNode = new ActionNode <TTickData, TState>(name, (tick, state) => predicate(tick, state) ? BehaviourTreeState.Success : BehaviourTreeState.Failure); builder.Add(newNode); return(builder); }