コード例 #1
0
        public BehaviourTreeNodeSequenceBuilder(IBehaviourTreeNodeSequence <TTickData, TState> parentNode)
        {
            if (parentNode == null)
            {
                throw new ArgumentNullException(nameof(parentNode));
            }

            _parentNode = parentNode;
        }
コード例 #2
0
        public void Root(IBehaviourTreeNodeSequence <TTickData, TState> root,
                         Action <BehaviourTreeNodeSequenceBuilder <TTickData, TState> > config)
        {
            var rootBuilder = new BehaviourTreeNodeSequenceBuilder <TTickData, TState>(root);

            config(rootBuilder);

            SetRootInternal(root);
        }
コード例 #3
0
        public void Decorate(
            IBehaviourTreeNodeSequence <TTick, TState> node,
            Action <BehaviourTreeNodeSequenceBuilder <TTick, TState> > config)
        {
            if (node == null)
            {
                throw new ArgumentNullException(nameof(node));
            }

            if (config == null)
            {
                throw new ArgumentNullException(nameof(config));
            }

            _parentNode.Decorate(node);

            config(new BehaviourTreeNodeSequenceBuilder <TTick, TState>(node));
        }
コード例 #4
0
        public BehaviourTreeNodeSequenceBuilder <TTickData, TState> Add(
            IBehaviourTreeNodeSequence <TTickData, TState> node,
            Action <BehaviourTreeNodeSequenceBuilder <TTickData, TState> > config)
        {
            if (node == null)
            {
                throw new ArgumentNullException(nameof(node));
            }

            if (config == null)
            {
                throw new ArgumentNullException(nameof(config));
            }

            _parentNode.AddNode(node);

            config(new BehaviourTreeNodeSequenceBuilder <TTickData, TState>(node));

            return(this);
        }