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);
                }
            }
        }