Ejemplo n.º 1
0
        /// <summary>
        /// 保存路径到xml
        /// </summary>
        /// <param name="path"></param>
        /// <param name="treeNode">要递归更新路径的树节点</param>
        /// <param name="isSave"></param>
        public void saveRealPathToXml(string path, GxTreeNode treeNode, bool isSave = true)
        {
            string fullPath = GxEnvManager.getEnv(GxEnvVarType.GXENV_PROJECT_SCENE_DIR) + "\\" + path;

            setPath(fullPath);
            _xmlNode.Attributes["Path"].Value = path;

            //更新子节点路径
            if (_xmlNode.HasChildNodes == true)
            {
                updateChildNodePath(path, _xmlNode);
            }

            //更新树子节点
            GxNodeData treeNodeData = (GxNodeData)treeNode.Tag;

            if (treeNodeData != null)
            {
                treeNodeData.setPath(fullPath);

                if (treeNode.Nodes.Count > 0)
                {
                    updateChildTreeNodePath(path, treeNode);
                }
            }

            if (isSave == true)
            {
                _xmlNode.OwnerDocument.Save(GxEnvManager.getEnv(GxEnvVarType.GXENV_PROJECT_PATH));
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 更新树的子节点路径
        /// </summary>
        /// <param name="path"></param>
        /// <param name="parentTreeNode"></param>
        private void updateChildTreeNodePath(string path, GxTreeNode parentTreeNode)
        {
            foreach (GxTreeNode node in parentTreeNode.Nodes)
            {
                //更新树节点路径
                GxNodeData treeNodeData = (GxNodeData)node.Tag;
                if (treeNodeData != null)
                {
                    //取得文件名
                    string filename = Path.GetFileName(treeNodeData.getPath());
                    string fullPath = path + "\\" + filename;
                    treeNodeData.setPath(GxEnvManager.getEnv(GxEnvVarType.GXENV_PROJECT_SCENE_DIR) + "\\" + fullPath);

                    if (node.Nodes.Count > 0)
                    {
                        updateChildTreeNodePath(fullPath, node);
                    }
                }
            }
        }