コード例 #1
0
        public int DeclareNode(BehaviourTreeNode <TBlackboard> node)
        {
            var index = NodesCount;

            _nodes.Add(node);
            return(index);
        }
コード例 #2
0
        public int DeclareVariable(BehaviourTreeNode <TBlackboard> node, string name)
        {
            var definition = new VariableDefinition(node, name);
            var index      = VariablesCount;

            _variableDefinitions.Add(definition);
            return(index);
        }
コード例 #3
0
        private void AcceptNode(BehaviourTreeNode <TBlackboard> node)
        {
            if (_parentNode != null)
            {
                var decorator = _parentNode as BaseDecoratorNode <TBlackboard>;
                var group     = _parentNode as CompositeNode <TBlackboard>;

                if (decorator != null)
                {
                    decorator.Node = node;
                }
                else
                {
                    group?.AddChild(node);
                }
            }
            _node = node;
        }
コード例 #4
0
 public void SetStatus(BehaviourTreeNode <TBlackboard> node, BehaviourTreeStatus status)
 {
     Statuses[node.Id] = status;
 }
コード例 #5
0
 public BehaviourTreeStatus GetStatus(BehaviourTreeNode <TBlackboard> node)
 {
     return(Statuses[node.Id]);
 }
コード例 #6
0
 public BehaviourTreeBuilderFinalizer(BehaviourTreeNode <TBlackboard> node)
 {
     _node = node;
 }
コード例 #7
0
 public BehaviourTreeBuilderNodeFinalizer(TParent parent, BehaviourTreeNode <TBlackboard> node)
 {
     _parent = parent;
     _node   = node;
 }
コード例 #8
0
 public void AddChild(BehaviourTreeNode <TBlackboard> child)
 {
     _children.Add(child);
 }
コード例 #9
0
 public TBuilderMethodResult Splice(BehaviourTreeNode <TBlackboard> node)
 {
     AcceptNode(node);
     return(GetBuilderMethodResult());
 }
コード例 #10
0
 protected abstract void AcceptNode(BehaviourTreeNode <TBlackboard> node);
コード例 #11
0
 public SimpleBehaviourTreeBuilder(SimpleBehaviourTreeBuilder <TBlackboard> parentBuilder, BehaviourTreeNode <TBlackboard> parentNode)
 {
     _parentBuilder = parentBuilder;
     _parentNode    = parentNode;
 }
コード例 #12
0
 public BehaviourTreeMetadata(BehaviourTreeNode <TBlackboard> root)
 {
     root.DeclareNode(this);
     _pool = new BehaviourTreeExecutionData <TBlackboard> .Pool(this);
 }
コード例 #13
0
 public VariableDefinition(BehaviourTreeNode <TBlackboard> owner, string name)
 {
     Owner = owner;
     Name  = name;
 }