public override void ExposeData() { base.ExposeData(); Scribe_Values.Look <string>(ref ButtonLocationString, "PathAvoid.ButtonOrder", "0", false); Scribe_Values.Look <bool>(ref SettingsController.AdvancedModeEnabled, "PathAvoice.AdvancedModeEnabled", false, false); if (SettingsController.AdvancedModeEnabled) { Dictionary <string, string> d = new Dictionary <string, string>(); SettingsController.SetDefaults(d); foreach (KeyValuePair <string, string> kv in d) { int value = int.Parse(kv.Value); if (SettingsController.PathAvoidDefNameValue.ContainsKey(kv.Key)) { int.TryParse(SettingsController.PathAvoidDefNameValue[kv.Key], out value); } Scribe_Values.Look <int>(ref value, "PathAvoid." + kv.Key, int.Parse(kv.Value), false); if (Scribe.mode != LoadSaveMode.Saving) { SettingsController.SetValue(SettingsController.PathAvoidDefNameValue, kv.Key, value.ToString()); } } } if (SettingsController.PathAvoidDefNameValue == null) { SettingsController.PathAvoidDefNameValue = new Dictionary <string, string>(); } if (Scribe.mode == LoadSaveMode.PostLoadInit) { ApplyLocation(); if (!SettingsController.AdvancedModeEnabled) { SettingsController.PathAvoidDefNameValue.Clear(); } else { SettingsController.ApplyLevelSettings(DefDatabase <PathAvoidDef> .AllDefs); } } }
static void Prefix() { SettingsController.ApplyLevelSettings(DefDatabase <PathAvoidDef> .AllDefs); }