//============================================================ // <T>扫描所有节点。</T> // // @param folder 文件夹 // @param path 路径 //============================================================ protected void ScanNodes(FDrFolder folder, string path) { string fileTag = string.Empty; // 文件夹排序 folder.Folders.Sort(); // 循环取得每个文件 foreach (FDrFolder subfloder in folder.Folders) { // 获得经过处理的名称 string[] items = subfloder.Name.Split('-'); if (items.Length >= 3) { string type = items[0]; string dotPath = path + "\\" + items[1]; if ("fd" == type) { subfloder.Type = "folder"; subfloder.Label = items[1] + " [" + items[2] + "]"; } else if ("sc" == type) { subfloder.Type = "scene"; FDrSceneGroup group = new FDrSceneGroup(); subfloder.Label = items[1] + " [" + items[2] + "]"; group.Name = dotPath; group.Label = items[2]; group.Directory = subfloder.Directory; group.DirectoryExprot = _exportDirectory; group.Scan(); subfloder.Tag = group; // 存储对照表 _sceneGroups.Set(group.Code, group); _folders.Push(subfloder); } ScanNodes(subfloder, dotPath); } } }