public static BTreeNodeDesigner CreateBTreeNodeDesigner(BTreeEditorNodeConfig[] _configNodes, BTreeEditorNode[] _editorNodes, ref BTreeNodeDesigner[] _nodeDesigners, int _index) { BTreeEditorNode _editorNode = _editorNodes[_index]; for (int i = 0; i < _editorNode.m_Node.m_ChildCount; i++) { int _childIndex = _editorNode.m_Node.m_ChildNodes[i].m_Index; if (_nodeDesigners[_childIndex] == null) { _nodeDesigners[_childIndex] = CreateBTreeNodeDesigner(_configNodes, _editorNodes, ref _nodeDesigners, _childIndex); } } BTreeNodeDesigner _node = new BTreeNodeDesigner(_editorNode); //_node.m_EditorNode = _editorNode; //_node.m_NodeName = _editorNode.m_Node.m_Name; //_node.m_ChildNodeList = new List<BTreeNodeDesigner>(); //_node.m_ChildNodeConnectionList = new List<BTreeNodeConnection>(); for (int i = 0; i < _editorNode.m_Node.m_ChildCount; i++) { int _childIndex = _editorNode.m_Node.m_ChildNodes[i].m_Index; _node.m_ChildNodeList.Add(_nodeDesigners[_childIndex]); BTreeNodeConnection _connection = new BTreeNodeConnection(_nodeDesigners[_childIndex], _node, NodeConnectionType.Outgoing); _node.m_ChildNodeConnectionList.Add(_connection); } return(_node); }
public BTreeNodeDesigner(BTreeEditorNode _editorNode) { if (_editorNode == null) { Debugger.Log("BTreeNodeDesigner Init Null"); return; } m_EditorNode = _editorNode; m_ChildNodeList = new List<BTreeNodeDesigner>(); m_ChildNodeConnectionList = new List<BTreeNodeConnection>(); loadTaskIcon(); }
public static BTreeEditorNode[] CreateBTreeEditorNode(BTreeEditorTreeConfig _config) { BTreeNodeFactory.Init(); BTreeNode[] _btreeNodes = BTreeNodeFactory.CreateBTreeFromConfig(_config); BTreeEditorNode[] _editorNodes = new BTreeEditorNode[_btreeNodes.Length]; for (int i = 0; i < _editorNodes.Length; i++) { _editorNodes[i] = new BTreeEditorNode(_btreeNodes[i]); _editorNodes[i].m_Pos = new Vector2(_config.m_EditorNodes[i].m_PosX, _config.m_EditorNodes[i].m_PosY); _editorNodes[i].m_Disable = _config.m_EditorNodes[i].m_Disable; } return(_editorNodes); }
//添加节点 public BTreeNodeDesigner addNode(Type type, Vector2 position) { BTreeNode _node = (BTreeNode)type.GetConstructor(new Type[] { }).Invoke(new object[] { }); BTreeEditorNode _editorNode = new BTreeEditorNode(_node); _editorNode.m_Pos = position; BTreeNodeDesigner _nodeDesigner = new BTreeNodeDesigner(_editorNode); if (m_RootNode == null) { m_RootNode = _nodeDesigner; _nodeDesigner.SetEntryDisplay(true); } else { if (m_DetachedNodes == null) { m_DetachedNodes = new List <BTreeNodeDesigner>(); } m_DetachedNodes.Add(_nodeDesigner); } return(_nodeDesigner); }
public void DelChildNode(BTreeEditorNode _node) { m_Node.DelChildNode(_node.m_Node); }
public void AddChildNode(BTreeEditorNode _node) { m_Node.AddChildNode(_node.m_Node); }