/// <summary> /// Reads a new setting from a file. /// </summary> /// <param name="filePath">Filepath of the settings file</param> /// <returns></returns> public static Settings Load(string filePath) { var settings = new Settings(); if (File.Exists(filePath)) { var text = File.ReadAllText(filePath); IniData ini = IniData.Deserialize(text); foreach (var section in ini.Content) { var id = section.Key; if (id == "General") { if (section.Value.ContainsKey("Language")) { LanguageManager.getInstance().Language = section.Value["Language"]; } } else if (id == "Keyboard") { settings.mappers[id] = KeyboardToXInputMapper.Parse(section.Value); } else { settings.mappers[id] = DirectToXInputMapper.Parse(section.Value); } } } return(settings); }
private LanguageManager(string filePath) { data = IniData.Deserialize(Properties.Resources.languages).Content; Language = "English"; }