protected void BuildChildConnections(NodePort thisPort) { TreeCompositeNode compositeNode = thisTreeNode as TreeCompositeNode; Debug.Assert(compositeNode != null, nameof(compositeNode) + " != null"); var connections = thisPort.GetConnections(); List <TreeBaseNode> treeNodes = new List <TreeBaseNode>(); foreach (var connector in connections) { treeNodes.Add(((BaseNode)connector.node).thisTreeNode); } compositeNode.SetChildren(treeNodes); }
protected void WalkCompositeNodeChildren(TreeCompositeNode composite, BehaviourTree.BehaviourTree tree) { var childrenPort = GetOutputPort("children"); var connections = childrenPort.GetConnections(); List <TreeBaseNode> treeNodes = new List <TreeBaseNode>(); foreach (var connector in connections) { BaseNode bn = connector.node as BaseNode; Debug.Assert(bn != null, nameof(bn) + " != null"); if (bn == null) { Debug.LogError("Behaviour graph node: " + this.name + " was not connected to a child.", this); } treeNodes.Add(bn.WalkGraphToCreateTree(tree, composite.context)); } composite.SetChildren(treeNodes); }