public static void Load() { GalaxyDir = YU.GetGogGalaxyPath(); try { if (File.Exists(CFGFILE)) { string[] lines = File.ReadAllLines(CFGFILE); foreach (string line in lines) { if (line.Length > 0) { if (line.StartsWith("path")) { string[] vals = line.Split('='); if (vals.Length > 1) { GameDir = vals[1].Trim(); } } else if (line.StartsWith("startpage")) { string[] vals = line.Split('='); if (vals.Length > 1) { if (int.TryParse(vals[1].Trim(), out int intval) && intval > -1 && intval < 4) { StartPage = (StartPageEnum)intval; } } } else if (line.StartsWith("lastsrvchk")) { string[] vals = line.Split('='); if (vals.Length > 1) { LastSurveyId = vals[1].Trim(); } } else if (line.StartsWith("startviagalaxy")) { if (GalaxyDir != null) { LaunchFromGalaxy = ParseBooleanParam(line); } } else if (line.StartsWith("offlinemode")) { StartOffline = ParseBooleanParam(line); } else if (line.StartsWith("closeonlaunch")) { CloseOnLaunch = ParseBooleanParam(line); } } } } if (File.Exists(MODINFOFILE)) { InstalledMods = JsonConvert.DeserializeObject <List <ModCfgInfo> >(File.ReadAllText(MODINFOFILE)); List <string> names = new List <string>(); for (int i = InstalledMods.Count - 1; i > -1; i--) { ModCfgInfo mci = InstalledMods[i]; if (names.FindIndex(x => x.Equals(mci.Name)) > -1) { InstalledMods.RemoveAt(i); } else { names.Add(mci.Name); } } } } catch (Exception ex) { YobaDialog.ShowDialog(Locale.Get("CannotReadCfg") + ":\r\n" + ex.Message); } }