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