public static bool Serialize(string filename, ModConfiguration config)
 {
     XmlSerializer xmlSerializer = new XmlSerializer(typeof(ModConfiguration));
     try
     {
         using (StreamWriter streamWriter = new StreamWriter(filename))
         {
             xmlSerializer.Serialize(streamWriter, config);
             return true;
         }
     }
     catch
     {
     }
     return false;
 }
 private void InitConfigFile()
 {
     try
     {
         string pathName = GameSettings.FindSettingsFileByName("gameSettings").pathName;
         string str = "";
         if (pathName != "")
         {
             str = Path.GetDirectoryName(pathName) + Path.DirectorySeparatorChar;
         }
         Mod_Lang_JAEX.configPath = str + SETTINGFILENAME;
         Mod_Lang_JAEX.ModConf = ModConfiguration.Deserialize(Mod_Lang_JAEX.configPath);
         if (Mod_Lang_JAEX.ModConf == null)
         {
             Mod_Lang_JAEX.ModConf = ModConfiguration.Deserialize(SETTINGFILENAME);
             if (Mod_Lang_JAEX.ModConf != null && ModConfiguration.Serialize(str + SETTINGFILENAME, Mod_Lang_JAEX.ModConf))
             {
                 try
                 {
                     File.Delete(SETTINGFILENAME);
                 }
                 catch
                 {
                 }
             }
         }
         if (Mod_Lang_JAEX.ModConf == null)
         {
             Mod_Lang_JAEX.ModConf = new ModConfiguration();
             if (!ModConfiguration.Serialize(Mod_Lang_JAEX.configPath, Mod_Lang_JAEX.ModConf))
             {
                 Mod_Lang_JAEX.configPath = SETTINGFILENAME;
                 ModConfiguration.Serialize(Mod_Lang_JAEX.configPath, Mod_Lang_JAEX.ModConf);
             }
         }
     }
     catch
     {
     }
 }