コード例 #1
0
        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();
        }
コード例 #2
0
 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());
             }
         }
     });
 }
コード例 #3
0
ファイル: RocketSettings.cs プロジェクト: unfly5028/RocketMan
        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();
        }
コード例 #4
0
ファイル: RocketSettings.cs プロジェクト: unfly5028/RocketMan
 public RocketMod(ModContentPack content) : base(content)
 {
     RocketMod.instance = this;
     RocketMod.settings = GetSettings <RocketModSettings>();
     UpdateExceptions();
 }