public void OnSettingsUI(UIHelperBase helper)
        {
            this.InitConfigFile();
            UIHelperBase group = helper.AddGroup(Translation.GetString("Settings"));

            group.AddCheckbox(Translation.GetString("PrioritizeTargetsWithRedSigns"), ModConf.PrioritizeTargetWithRedSigns, delegate(bool isChecked)
            {
                Identity.ModConf.PrioritizeTargetWithRedSigns = isChecked;
                ModConfiguration.Serialize(Identity.configPath, Identity.ModConf);
            });
            group.AddCheckbox(Translation.GetString("MinimizeHearses"), ModConf.MinimizeHearses, delegate(bool isChecked)
            {
                Identity.ModConf.MinimizeHearses = isChecked;
                ModConfiguration.Serialize(Identity.configPath, Identity.ModConf);
            });
        }
        public static ModConfiguration Deserialize(string filename)
        {
            XmlSerializer xmlSerializer = new XmlSerializer(typeof(ModConfiguration));

            try
            {
                using (StreamReader streamReader = new StreamReader(filename))
                {
                    ModConfiguration modConfiguration = (ModConfiguration)xmlSerializer.Deserialize(streamReader);
                    return(modConfiguration);
                }
            }
            catch
            {
            }
            return(null);
        }
        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;
         }
         Identity.configPath = str + SETTINGFILENAME;
         Identity.ModConf    = ModConfiguration.Deserialize(Identity.configPath);
         if (Identity.ModConf == null)
         {
             Identity.ModConf = ModConfiguration.Deserialize(SETTINGFILENAME);
             if (Identity.ModConf != null && ModConfiguration.Serialize(str + SETTINGFILENAME, Identity.ModConf))
             {
                 try
                 {
                     File.Delete(SETTINGFILENAME);
                 }
                 catch
                 {
                 }
             }
         }
         if (Identity.ModConf == null)
         {
             Identity.ModConf = new ModConfiguration();
             if (!ModConfiguration.Serialize(Identity.configPath, Identity.ModConf))
             {
                 Identity.configPath = SETTINGFILENAME;
                 ModConfiguration.Serialize(Identity.configPath, Identity.ModConf);
             }
         }
     }
     catch
     {
     }
 }