//============================================================ // <T>扫描文件夹。</T> //============================================================ public void Scan() { // 处理所有子文件 FStrings fileNames = RDirectory.ListFiles(_directory); foreach (string fileName in fileNames) { if (-1 != fileName.IndexOf(".svn")) { continue; } // 解析资源 string shortName = fileName.Substring(fileName.LastIndexOf("\\") + 1); string name = shortName.Substring(3); // 解析图片资源 if (shortName.StartsWith("RP-")) { string fullName = name; string label = name; int codeIndex = name.IndexOf("-"); int labelIndex = name.IndexOf(".png"); if (-1 != codeIndex) { label = name.Substring(0, labelIndex); fullName = name.Substring(codeIndex + 1, labelIndex - codeIndex); name = name.Substring(0, codeIndex); } if (11 == name.Length) { name = name.Replace(".", ""); // 创建图片资源 int code = RInt.Parse(name); FRsResourcePicture picture = RContent2dManager.ResourceConsole.CreateResource(ERsResource.Picture, code) as FRsResourcePicture; picture.Folder = this; picture.Code = code; picture.Name = name; picture.Label = label; picture.FullLabel = FullLabel + "\\" + label; picture.Keyword = label.Replace(".", ""); picture.FileName = fileName; picture.Directory = _directory; picture.Scan(); _resources.Push(picture); } } // 解析音乐资源 if (shortName.StartsWith("RM-")) { string fullName = name; string label = name; int codeIndex = name.IndexOf("-"); int labelIndex = name.IndexOf(".mp3"); if (-1 != codeIndex) { label = name.Substring(0, labelIndex); fullName = name.Substring(codeIndex + 1, labelIndex - codeIndex); name = name.Substring(0, codeIndex); } if (11 == name.Length) { name = name.Replace(".", ""); // 创建音乐资源 int code = RInt.Parse(name); FRsResourceMusic music = RContent2dManager.ResourceConsole.CreateResource(ERsResource.Music, code) as FRsResourceMusic; music.Folder = this; music.Code = code; music.Name = name; music.Label = label; music.FullLabel = FullLabel + "\\" + label; music.Keyword = label.Replace(".", ""); music.FileName = fileName; music.Directory = _directory; music.Scan(); _resources.Push(music); } } // 解析声音资源 if (shortName.StartsWith("RS-")) { string fullName = name; string label = name; int codeIndex = name.IndexOf("-"); int labelIndex = name.IndexOf(".mp3"); if (-1 != codeIndex) { label = name.Substring(0, labelIndex); fullName = name.Substring(codeIndex + 1, labelIndex - codeIndex); name = name.Substring(0, codeIndex); } if (11 == name.Length) { name = name.Replace(".", ""); // 创建声音资源 int code = RInt.Parse(name); FRsResourceSound sound = RContent2dManager.ResourceConsole.CreateResource(ERsResource.Sound, code) as FRsResourceSound; sound.Folder = this; sound.Code = code; sound.Name = name; sound.Label = label; sound.FullLabel = FullLabel + "\\" + label; sound.Keyword = label.Replace(".", ""); sound.FileName = fileName; sound.Directory = _directory; sound.Scan(); _resources.Push(sound); } } } // 加载设置信息 //_configName = _directory + "\\config.xml"; //if (RFile.Exists(_configName)) { // FXmlDocument xdoc = new FXmlDocument(); // xdoc.LoadFile(_configName); // foreach (FXmlNode xnode in xdoc.Root.Nodes) { // if (xnode.IsName("Object")) { // string code = null; // if (xnode.Contains("code")) { // code = xnode.Get("code"); // } else { // code = xnode.Get("id", String.Empty); // } // if ("" == code) { // } // //FDsResource resource = FindResourceById(code); // //if(null != resource) { // // resource.LoadConfig(xnode); // //} // } // } //} }