private void DrawVersionNumberSelection(Rect rect) { Listing_Standard listing = new Listing_Standard(); listing.Begin(rect); listing.AddLabeledRadioList <int>("The following radio values are allowed to set the current version of the Extreme Colds world generation.", this.radioValues, ref settings.selectedVersion); listing.AddLabelLine("NOTE: These values are only used during a new game. The value saved with the world will be used during load."); listing.End(); settings.Write(); }
public override void DoSettingsWindowContents(Rect inRect) { Listing_Standard listing_Standard = new Listing_Standard(); listing_Standard.Begin(inRect); listing_Standard.AddLabeledCheckbox("MessagesEnabledLabel".Translate() + " ", ref Settings.MessagesEnabled); listing_Standard.AddLabeledCheckbox("AggroCalmEnabledLabel".Translate() + " ", ref Settings.AggroCalmEnabled); listing_Standard.AddLabeledCheckbox("OpinionOnlyEnabledLabel".Translate() + " ", ref Settings.OpinionOnly); listing_Standard.AddLabeledCheckbox("NonFactionEnabledLabel".Translate() + " ", ref Settings.NonFaction); listing_Standard.AddLabeledCheckbox("TraderCalmEnabledLabel".Translate() + " ", ref Settings.TraderCalm); listing_Standard.AddLabeledCheckbox("AdvancedMenu".Translate() + " ", ref Settings.AdvancedMenu); if (SOMod.Settings.AdvancedMenu) { listing_Standard.AddLabelLine("Formula = diplomacy skill * social multiplier + opinion * opinion multiplier"); if (SOMod.Settings.OpinionOnly) { listing_Standard.AddLabeledNumericalTextField("OOMultLabel".Translate(), ref Settings.OOpnWeight, (float)0.5, 0, 1); } else { listing_Standard.AddLabeledNumericalTextField("SMultLabel".Translate(), ref Settings.DipWeight, (float)0.5, 0, 1); listing_Standard.AddLabeledNumericalTextField("OMultLabel".Translate(), ref Settings.OpnWeight, (float)0.5, 0, 1); } listing_Standard.AddLabeledNumericalTextField("StunWeight".Translate(), ref Settings.StunWeight, (float)0.5, 0, 1); listing_Standard.AddLabeledNumericalTextField("CalmDuration".Translate(), ref SOMod.Settings.CalmDuration); listing_Standard.AddLabeledNumericalTextField("Cooldown".Translate(), ref SOMod.Settings.Cooldown); listing_Standard.AddLabeledCheckbox("DebugChanceSetting".Translate() + " ", ref Settings.Debug); listing_Standard.AddLabeledCheckbox("LaunchCounterSetting".Translate() + " ", ref Settings.LaunchCounter); listing_Standard.AddLabeledCheckbox("AlwaysSucceedSetting".Translate() + " ", ref Settings.AlwaysSucceed); if (listing_Standard.ButtonText("Default")) { SnapUtils.DebugLog("Reset advanced settings to defaults"); SOMod.Settings.DipWeight = 0.2f; SOMod.Settings.OpnWeight = 0.0014f; SOMod.Settings.OOpnWeight = 0.006f; SOMod.Settings.StunWeight = 0.55f; SOMod.Settings.CalmDuration = 1250; SOMod.Settings.Debug = false; SOMod.Settings.LaunchCounter = true; SOMod.Settings.Cooldown = 15000; } } listing_Standard.End(); Settings.Write(); }
//Main window thing public override void DoSettingsWindowContents(Rect inRect) { Listing_Standard listing_Standard = new Listing_Standard(); listing_Standard.Begin(inRect); listing_Standard.AddLabeledCheckbox("MessagesEnabledLabel".Translate() + " ", ref settings.SOmessagesEnabled); listing_Standard.AddLabeledCheckbox("AggroCalmEnabledLabel".Translate() + " ", ref settings.SOAggroCalmEnabled); listing_Standard.AddLabeledCheckbox("OpinionOnlyEnabledLabel".Translate() + " ", ref settings.SOOpnOnly); listing_Standard.AddLabeledCheckbox("NonFactionEnabledLabel".Translate() + " ", ref settings.SONonFaction); listing_Standard.AddLabeledCheckbox("TraderCalmEnabledLabel".Translate() + " ", ref settings.SOTraderCalm); listing_Standard.AddLabeledCheckbox("AdvancedMenu".Translate() + " ", ref settings.SOAdvanced); if (SOMod.settings.SOAdvanced) { listing_Standard.AddLabelLine("Formula = diplomacy skill * social multiplier + opinion * opinion multiplier"); //listing_Standard.AddLabeledSlider("SMultLabel".Translate() + " - " + SOMod.settings.SODipWeight, ref settings.SODipWeight, 0f, 1f); done //listing_Standard.AddLabeledSlider("OMultLabel".Translate() + " - " + SOMod.settings.SOOpnWeight, ref settings.SOOpnWeight, 0f, 1f); done //listing_Standard.AddLabeledSlider("OOMultLabel".Translate() + " - " + SOMod.settings.SOOOpnWeight, ref settings.SOOOpnWeight, 0f, 1f); done //listing_Standard.AddLabeledSlider("StunWeight".Translate() + " - " + SOMod.settings.SOStunWeight, ref settings.SOStunWeight, 0f, 1f); done listing_Standard.AddLabeledNumericalTextField("SMultLabel".Translate(), ref settings.SODipWeight, (float)0.5, 0, 1); listing_Standard.AddLabeledNumericalTextField("OMultLabel".Translate(), ref settings.SOOpnWeight, (float)0.5, 0, 1); listing_Standard.AddLabeledNumericalTextField("OOMultLabel".Translate().Translate(), ref settings.SOOOpnWeight, (float)0.5, 0, 1); listing_Standard.AddLabeledNumericalTextField("StunWeight".Translate(), ref settings.SOStunWeight, (float)0.5, 0, 1); listing_Standard.AddLabeledNumericalTextField("CalmDuration".Translate(), ref SOMod.settings.SOCalmDuration); listing_Standard.AddLabeledNumericalTextField("Cooldown".Translate(), ref SOMod.settings.SOCooldown); listing_Standard.AddLabeledCheckbox("DebugChanceSetting".Translate() + " ", ref settings.SODebug); if (listing_Standard.ButtonText("Default")) { SnapUtils.logThis("Reset advanced settings to defaults"); SOMod.settings.SODipWeight = 0.2f; SOMod.settings.SOOpnWeight = 0.0014f; SOMod.settings.SOOOpnWeight = 0.006f; SOMod.settings.SOStunWeight = 0.55f; SOMod.settings.SOCalmDuration = 1250; SOMod.settings.SODebug = false; SOMod.settings.SOCooldown = 15000; } } listing_Standard.End(); settings.Write(); }
public override void DoWindowContents(Rect rect) { base.DoWindowContents(rect); if (RimStoryMod.settings.enableLogging) { bigRect = rect; bigRect = new Rect(rect.position, new Vector2(rect.width, defaultLogSize + (35f * Resources.eventsLog.Count))); logSize = new Vector2(rect.x, defaultLogSize + (35f * Resources.eventsLog.Count)); inner = new Rect(rect.position, logSize); outter = new Rect(rect.position, new Vector2(rect.width - 200, rect.height)); listing_Standard.Begin(bigRect); Widgets.BeginScrollView(outter, ref vect, inner, true); if (Resources.eventsLog != null) { foreach (IEvent e in Resources.eventsLog) { if (e != null) { if (e.ShowInLog() != null) { if (!Resources.showRaidsInLog && e is ABigThreat) { } else if (!Resources.showDeadColonistsInLog && e is AMemorialDay) { } else if (!Resources.showIncidentsInLog && e is IncidentShort) { } else { listing_Standard.AddLabelLine(e.ShowInLog()); listing_Standard.AddHorizontalLine(3f); } } } } if (Resources.eventsLog.Count == 0) { listing_Standard.AddLabelLine("Nothing here yet."); } } Widgets.EndScrollView(); listing_Standard.End(); filterRect = new Rect(new Vector2(outter.width, rect.position.y), new Vector2(200, 200)); listing_Standard.Begin(filterRect); listing_Standard.AddLabeledCheckbox("ShowRaidsInLog".Translate(), ref Resources.showRaidsInLog); listing_Standard.AddLabeledCheckbox("ShowDeadColonistsInLog".Translate(), ref Resources.showDeadColonistsInLog); listing_Standard.AddLabeledCheckbox("ShowIncidentsInLog".Translate(), ref Resources.showIncidentsInLog); listing_Standard.End(); } }
public static void AddLabeledRadioList <T>(this Listing_Standard listing_Standard, string header, Dictionary <string, T> dict, ref T val, float?headerHeight = null) { listing_Standard.Gap(ListingStandardHelper.Gap); listing_Standard.AddLabelLine(header, headerHeight); listing_Standard.AddRadioList(ListingStandardHelper.GenerateLabeledRadioValues <T>(dict), ref val, null); }
public static void AddLabeledRadioList(this Listing_Standard listing_Standard, string header, string[] labels, ref string val, float?headerHeight = null) { listing_Standard.Gap(ListingStandardHelper.Gap); listing_Standard.AddLabelLine(header, headerHeight); listing_Standard.AddRadioList(ListingStandardHelper.GenerateLabeledRadioValues(labels), ref val, null); }