コード例 #1
0
ファイル: FCfgFolder.cs プロジェクト: whztt07/MoCross
 //============================================================
 // <T>增加一个子目录。</T>
 //
 // @param folder 子目录
 //============================================================
 public void PushFolder(FCfgFolder folder)
 {
     if (folder != null)
     {
         folder.Parent = this;
         Folders.Push(folder);
     }
 }
コード例 #2
0
ファイル: FCfgFolder.cs プロジェクト: whztt07/MoCross
        //============================================================
        // <T>创建一个子对象。</T>
        //
        // @param name 名称
        // @return 子对象
        //============================================================
        public virtual FCfgFolder CreateFolder(string name)
        {
            // 创建目录
            FCfgFolder folder = new FCfgFolder();

            folder.Name      = name;
            folder.Directory = _directory + "\\" + name;
            PushFolder(folder);
            // 创建文件目录
            System.IO.Directory.CreateDirectory(folder.Directory);
            return(folder);
        }
コード例 #3
0
ファイル: FCfgFolder.cs プロジェクト: whztt07/MoCross
        //============================================================
        // <T>加载目录信息。</T>
        //
        // @param path 目录
        //============================================================
        public virtual void OnLoadFolder(string path)
        {
            // 重设名称
            string name = path.Substring(path.LastIndexOf("\\") + 1);
            // 加载子目录
            FCfgFolder floder = CreateFolder(name);

            floder.Name      = name;
            floder.Directory = path;
            floder.LoadFolderAll();
            // 增加到列表
            PushFolder(floder);
        }
コード例 #4
0
ファイル: FCfgFolder.cs プロジェクト: whztt07/MoCross
        //============================================================
        // <T>获取顶层目录。</T>
        //
        // @return 目录
        //============================================================
        public FCfgFolder FetchFolderTop()
        {
            FCfgFolder find = this;

            while (find != null)
            {
                if (find.Parent == null)
                {
                    return(find);
                }
                find = find.Parent;
            }
            return(null);
        }
コード例 #5
0
ファイル: FCfgFolder.cs プロジェクト: whztt07/MoCross
        //============================================================
        // <T>获取层级目录集合。</T>
        //
        // @return 目录集合
        //============================================================
        public FObjects <FCfgFolder> FetchFolderStack(bool constainsSelf = true)
        {
            FObjects <FCfgFolder> stack = new FObjects <FCfgFolder>();
            FCfgFolder            find  = this;

            while (find != null)
            {
                if (constainsSelf)
                {
                    stack.Push(find);
                }
                else if (find != this)
                {
                    stack.Push(find);
                }
                find = find.Parent;
            }
            stack.Reverse();
            return(stack);
        }
コード例 #6
0
ファイル: FCfgFolder.cs プロジェクト: whztt07/MoCross
        //============================================================
        // <T>获取相对目录。</T>
        //
        // @return 目录
        //============================================================
        public string FolderPath()
        {
            FCfgFolder folder = FetchFolderTop();

            return(_directory.Substring(folder.Directory.Length));
        }