Exemple #1
0
        public BehaviourTreeNodeDecoratorBuilder(IBehaviourTreeNodeDecorator <TTick, TState> parentNode)
        {
            if (parentNode == null)
            {
                throw new ArgumentNullException(nameof(parentNode));
            }

            _parentNode = parentNode;
        }
Exemple #2
0
        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));
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }