Example #1
0
 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);
     }
 }