public override void DoWindowContents(Rect inRect) { var listRect = new Rect(inRect.x, inRect.y + 10f, inRect.width, inRect.height - 50f); var contentRect = new Rect(0f, 0f, inRect.width - 20f, 50f * DefDatabase <StatDef> .AllDefs.Count() + 200); Widgets.BeginScrollView(listRect, ref scroll, contentRect, true); var listing = new Listing_Standard(); listing.Begin(contentRect); var font = Text.Font; Text.Font = GameFont.Medium; listing.Label("Stat Settings:"); Text.Font = GameFont.Small; if (listing.ButtonText("Close")) { Close(); } Text.Font = GameFont.Medium; RocketMod.DoStatSettings(listing); Text.Font = font; listing.End(); Widgets.EndScrollView(); }
public override void DoWindowContents(Rect inRect) { RocketMod.ReadStats(); RocketMod.DoSettings(inRect, doStats: false, extras: (Listing_Standard listing) => { if (listing.ButtonText("Open StatsSettings")) { if (Find.WindowStack.WindowOfType <RocketStatWindow>() != null) { Find.WindowStack.RemoveWindowsOfType(typeof(RocketStatWindow)); } else { Find.WindowStack.Add(new RocketStatWindow()); } } }); }
public static void DoStatSettings(Listing_Standard listing) { UpdateStats(); var counter = 0; var font = Text.Font; Text.Font = GameFont.Small; listing.Gap(); listing.Label("Search:"); searchString = listing.TextEntry(searchString, 1).ToLower(); listing.Gap(); Text.Font = GameFont.Tiny; foreach (StatSettings settings in statsSettings) { if (false || searchString.Trim() == "" || settings.stat.ToLower().Contains(searchString)) { listing.Label(string.Format("{0}. {1} set to expire in {2} ticks", counter++, settings.stat, settings.expireAfter)); settings.expireAfter = (int)listing.Slider(settings.expireAfter, 0, 255); } } Text.Font = font; foreach (StatSettings setting in statsSettings) { Finder.statExpiry[DefDatabase <StatDef> .defsByName[setting.stat].index] = (byte)setting.expireAfter; } RocketMod.instance.WriteSettings(); RocketMod.UpdateExceptions(); }
public RocketMod(ModContentPack content) : base(content) { RocketMod.instance = this; RocketMod.settings = GetSettings <RocketModSettings>(); UpdateExceptions(); }