private static void LoadInternalConfigurations(string xmlFilePath) { try { XmlManager xm = new XmlManager(); xm.InitializeFromFile(xmlFilePath); if (!string.IsNullOrEmpty(FTPSharedSettings.LauncherVersion) && !string.IsNullOrEmpty(FTPSharedSettings.UpdaterURL)) { return; } FTPSharedSettings.LauncherVersion = xm.GetNode("internalConfigs/version").InnerText; FTPSharedSettings.UpdaterURL = xm.GetNode("internalConfigs/launcherUpdateLink").InnerText; if (string.IsNullOrEmpty(FTPSharedSettings.LauncherVersion) || string.IsNullOrEmpty(FTPSharedSettings.UpdaterURL)) { LogManager.WriteLog($"Launcher version or updaterURL is null or empty. \n Version: {FTPSharedSettings.LauncherVersion} \n UpdaterURL: {FTPSharedSettings.UpdaterURL}"); } } catch (Exception er) { LogManager.WriteLog("Error on load internal configurations " + er.Message); } }
internal void LoadInternalConfigsFromXml(string xmlFilePath) { try { XmlManager xmlManager = new XmlManager(); xmlManager.InitializeFromFile(xmlFilePath); XmlNode internalConfigsNode = xmlManager.GetNode("internalConfigs"); FTPSharedSettings.LauncherVersion = internalConfigsNode.SelectSingleNode("version")?.InnerText; FTPSharedSettings.UpdaterURL = internalConfigsNode.SelectSingleNode("launcherUpdateLink")?.InnerText; FtpSettings.ClientMirrorUrl = internalConfigsNode.SelectSingleNode("clientMirror")?.InnerText; FtpSettings.FileListUrl = internalConfigsNode.SelectSingleNode("fileListURL")?.InnerText; FtpSettings.BlackListUrl = internalConfigsNode.SelectSingleNode("blackListURL").InnerText; XmlNode newsNode = internalConfigsNode.SelectSingleNode("news"); FtpSettings.ForumUrl = newsNode.SelectSingleNode("forumURL").InnerText; FtpSettings.XmlNewsUrl = newsNode.SelectSingleNode("xmlNewsUrl")?.InnerText; //optional! LauncherSettings.ShowNews = bool.Parse(newsNode.SelectSingleNode("showNews").InnerText); LauncherSettings.IsOnMaintenance = bool.Parse(internalConfigsNode.SelectSingleNode("maintenance").InnerText); if (!HasLoadedAllInternalConfigs(FTPSharedSettings.LauncherVersion, FTPSharedSettings.UpdaterURL, FtpSettings.ClientMirrorUrl, FtpSettings.FileListUrl, FtpSettings.ForumUrl, FtpSettings.XmlNewsUrl)) { LogManager.WriteLog("Not all internal configs was loaded correctly."); } OnConfigurationsLoaded?.Invoke(); #if DEBUG Debug.Print("Internal configs loaded sucessfully"); #endif } catch (Exception er) { #if DEBUG Debug.Print(er.Message); #endif LogManager.WriteLog("Error on load internal configs: " + er.Message); } }
internal void LoadLanguages() { try { XmlManager xml = new XmlManager(); xml.InitializeFromFile("LauncherLanguage.xml"); XmlNode languagesNode = xml.GetNode("languages"); XmlNodeList nodeList = languagesNode.SelectNodes("language");// xml.GetNodes("languages/language"); if (!languagesNode.HasAttribute("currentLanguageId")) { LauncherSettings.HasDefaultLanguage = false; } else { LauncherSettings.DefaultLanguageId = languagesNode.ParseIntAttribute("currentLanguageId"); } for (int i = 0; i < nodeList.Count; i++) { XmlNode node = nodeList[i]; Language language = new Language { Name = node.SelectSingleNode("name")?.InnerText, FileName = node.SelectSingleNode("fileName")?.InnerText, Id = node.ParseIntAttribute("id") }; Languages.Add(language); } #if DEBUG Debug.WriteLine("Loaded languages count -> " + Languages.Count); #endif } catch (Exception er) { LogManager.WriteLog("Exception on load languages:" + er.Message); } }