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));
        }
Esempio n. 2
0
        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));
        }
Esempio n. 5
0
        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));
        }
Esempio n. 7
0
        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)));
 }