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); }
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); }
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(); } }