Exemplo n.º 1
0
 private void SetupPluginTreeNode(PluginTreeNode currentNode, PluginTreeNode needSetNode, List <string> pathList, int index)
 {
     if (index >= pathList.Count)
     {
         return;
     }
     if (currentNode.ChildNodes.Keys.Contains(pathList[index]))
     {
         if (index == pathList.Count - 1)
         {
             currentNode.SetPlugin(needSetNode.Plugin);
         }
         SetupPluginTreeNode(currentNode.ChildNodes[pathList[index]], needSetNode, pathList, ++index);
     }
     else
     {
         PluginTreeNode newNode = new PluginTreeNode();
         currentNode.ChildNodes.Add(pathList[index], newNode);
         if (index == pathList.Count - 1)
         {
             newNode.SetPlugin(needSetNode.Plugin);
         }
         SetupPluginTreeNode(newNode, needSetNode, pathList, ++index);
     }
 }
Exemplo n.º 2
0
        public void SetupPluginTreeNode(PluginTreeNode treeNode)
        {
            List <string> pathList = CommonToolkit.PathParse(treeNode.Plugin.PluginBase.Path);

            SetupPluginTreeNode(_rootNode, treeNode, pathList, 0);
        }