protected override AdvancedDropdownItem BuildRoot() { var root = new NodeItem("添加内容"); s_AllItems.Clear(); BuildResources(root); NodeItem groupItem = new NodeItem("创建Group", "创建Group"); root.AddChild(groupItem); return(root); }
private void BuildResources(NodeItem root) { foreach (var nodeID in NodeTypes.GetCompatibleNodes(null)) { if (NodeCanvasManager.CheckCanvasCompability(nodeID, NodeEditor.curNodeCanvas.GetType())) { NodeTypeData nodeTypeData = NodeTypes.GetNodeData(nodeID); BuildSingleCategory(root, NodeTypes.GetNodeData(nodeID).adress, nodeTypeData.typeID); } } }
private void BuildSingleCategory(NodeItem root, string targetContent, string nodeId) { string[] items = targetContent.Split('/'); NodeItem parentItem = root; NodeItem tempItem; for (int i = 0; i < items.Length; i++) { if (s_AllItems.TryGetValue(items[i], out tempItem)) { parentItem = tempItem; } else { NodeItem childItem = new NodeItem(items[i], nodeId); parentItem.AddChild(childItem); parentItem = childItem; s_AllItems.Add(items[i], parentItem); } } }