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 void WithoutDecoratedNode() { var invert = new SucceederNode <int, int>(); Assert.Throws <BehaviourTreeException>(() => { invert.Compile(); }); }
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 BehaviourTreeNodeRandomBuilder <TTickData, TState> Succeeder <TTickData, TState>( this BehaviourTreeNodeRandomBuilder <TTickData, TState> builder, string name, uint probability, Action <BehaviourTreeNodeDecoratorBuilder <TTickData, TState> > config) { var newNode = new SucceederNode <TTickData, TState>(name); return(builder.Add(probability, newNode, config)); }
public void ExecutionResult(IBehaviourTreeNode <int, int> node, BehaviourTreeState expectedState) { var invert = new SucceederNode <int, int>(); invert.Decorate(node); var func = invert.Compile(); var state = func(0, 0); Assert.Equal(expectedState, state); }
public void Tick_AlwaysReturnsTrue(NodeStatus status) { var blackboard = this.GetBlackboard(); var action = new ActionNode <TestBlackboard>((TestBlackboard bb) => { return(status); }); var succeederNode = new SucceederNode <TestBlackboard>(action); Assert.AreEqual(NodeStatus.Success, succeederNode.Tick(blackboard)); }
public void AddMoreThatOneNode() { var invert = new SucceederNode <int, int>(); var mockNode = new Mock <IBehaviourTreeNode <int, int> >(); Assert.Throws <BehaviourTreeException>(() => { invert.Decorate(mockNode.Object); invert.Decorate(mockNode.Object); }); }
private Succeeder <TContext> MapSucceederNode(SucceederNode node) { return(new Succeeder <TContext>(node.Name, Map(node.Child))); }