public static T ReadModSettings <T>(string modIdentifier, string modHandleName) where T : ModSettings, new()
        {
            string settingsFilename = LoadedModManager.GetSettingsFilename(modIdentifier, modHandleName);
            T      val = (T)null;

            try
            {
                if (File.Exists(settingsFilename))
                {
                    Scribe.loader.InitLoading(settingsFilename);
                    Scribe_Deep.Look(ref val, "ModSettings");
                    Scribe.loader.FinalizeLoading();
                }
            }
            catch (Exception ex)
            {
                Log.Warning(string.Format("Caught exception while loading mod settings data for {0}. Generating fresh settings. The exception was: {1}", modIdentifier, ex.ToString()));
                val = (T)null;
            }
            if (val == null)
            {
                val = new T();
            }
            return(val);
        }
Пример #2
0
        public static T ReadModSettings <T>(string modIdentifier, string modHandleName) where T : ModSettings, new()
        {
            string settingsFilename = LoadedModManager.GetSettingsFilename(modIdentifier, modHandleName);
            T      t = (T)((object)null);

            try
            {
                if (File.Exists(settingsFilename))
                {
                    Scribe.loader.InitLoading(settingsFilename);
                    Scribe_Deep.Look <T>(ref t, "ModSettings", new object[0]);
                    Scribe.loader.FinalizeLoading();
                }
            }
            catch (Exception ex)
            {
                Log.Warning(string.Format("Caught exception while loading mod settings data for {0}. Generating fresh settings. The exception was: {1}", modIdentifier, ex.ToString()));
                t = (T)((object)null);
            }
            if (t == null)
            {
                t = Activator.CreateInstance <T>();
            }
            return(t);
        }
Пример #3
0
 public static void WriteModSettings(string modIdentifier, string modHandleName, ModSettings settings)
 {
     Scribe.saver.InitSaving(LoadedModManager.GetSettingsFilename(modIdentifier, modHandleName), "SettingsBlock");
     try
     {
         Scribe_Deep.Look <ModSettings>(ref settings, "ModSettings", new object[0]);
     }
     finally
     {
         Scribe.saver.FinalizeSaving();
     }
 }