internal void LoadFileList(string filePath) { ListFiles = new List <FileListItem>(); using (var xm = new XmlManager()) { xm.InitializeFromFile(filePath); XmlNodeList filesNodes = xm.GetNodes("Files/File"); foreach (XmlNode fileNode in filesNodes) { var fileItem = new FileListItem { Path = fileNode.InnerText, Size = fileNode.ParseIntAttribute("Size") }; if (fileNode.HasAttribute("Verify")) { fileItem.VerifyMD5 = true; fileItem.MD5 = fileNode.ParseStringAttribute("MD5"); } ListFiles.Add(fileItem); } } #if DEBUG Debug.Print("{0} Files Loaded from FileList.xml!", ListFiles.Count); #endif }
internal Language LoadLanguageStrings(int languageId) { try { Language lang = Languages.FirstOrDefault(l => l.Id == languageId); if (lang == null) { throw new NullReferenceException("language"); } XmlManager xml = new XmlManager(); xml.InitializeFromFile(string.Format(LauncherConstants.LanguagesStringsFilePath, lang.FileName)); XmlNodeList languageNodes = xml.GetNodes("language/strings/string"); foreach (XmlNode nodeString in languageNodes) { lang.Strings.Add(nodeString.ParseIntAttribute("id"), nodeString.InnerText); } #if DEBUG Debug.Print("Loaded strings -> {0} from language {1}", lang.Strings.Count, lang.Name); #endif CurrentLanguage = lang; return(lang); } catch (Exception er) { LogManager.WriteLog("Exception on load language strings: " + er.Message); return(null); } }
internal void LoadBadListFiles(string filePath) { ListBadFiles = new List <BadFile>(); using (var xm = new XmlManager()) { xm.InitializeFromFile(filePath); XmlNodeList badFilesNodes = xm.GetNodes("Files/File"); foreach (XmlNode badFilesNode in badFilesNodes) { ListBadFiles.Add(new BadFile { Path = badFilesNode.InnerText }); } } OnBadFilesLoadCompleteCallback?.Invoke(ListBadFiles); #if DEBUG Debug.Print(ListBadFiles.Count + " Bad files loaded"); #endif }
private void OnNewsStringDownloadCompleted(object sender, DownloadStringCompletedEventArgs e) { News = new List <News>(); if (string.IsNullOrEmpty(e.Result)) { LogManager.WriteLog("News xml is null or empty"); AddDefaultNews(); } else { try { XmlManager xm = new XmlManager(); xm.InitializeFromString(e.Result); XmlNodeList newsNodeList = xm.GetNodes("notices/notice"); foreach (XmlNode newsNode in newsNodeList) { News.Add(new News { Title = newsNode.SelectSingleNode("title").InnerText, Date = newsNode.SelectSingleNode("when").InnerText, Url = FtpSettings.ForumUrl + newsNode.SelectSingleNode("url").InnerText }); } if (News.Count == 0) { AddDefaultNews(LanguageManager.GetString(10)); } } catch (Exception exception) { AddDefaultNews(); LogManager.WriteLog("Exception on download news Xml: " + exception.Message); } } OnNewsDownloadCallback?.Invoke(News); }