Example #1
0
        private static void DrawModCompatSettings(Rect region)
        {
            var listing = new Listing_Standard();

            listing.Begin(region);

            listing.ModGroupHeader("Humanoid Alien Races", HarModId, false);
            listing.CheckboxLabeled("TKUtils.HAR.PawnKinds.Label".TranslateSimple(), ref TkSettings.PurchasePawnKinds);
            listing.DrawDescription("TKUtils.HAR.PawnKinds.Description".TranslateSimple());

            listing.ModGroupHeader("A RimWorld of Magic", MagicModId);
            listing.CheckboxLabeled("TKUtils.TMagic.Classes.Label".TranslateSimple(), ref TkSettings.ClassChanges);
            listing.DrawDescription("TKUtils.TMagic.Classes.Description".TranslateSimple());
            listing.DrawExperimentalNotice();

            if (TkSettings.ClassChanges)
            {
                listing.CheckboxLabeled("TKUtils.TMagic.ResetClass.Label".TranslateSimple(), ref TkSettings.ResetClass);
                listing.DrawDescription("TKUtils.TMagic.ResetClass.Description".TranslateSimple());
                listing.DrawExperimentalNotice();
            }

            listing.ModGroupHeader("Visual Exceptions", VisualExceptionsModId);
            listing.CheckboxLabeled("TKUtils.VisualExceptions.SendErrors.Label".TranslateSimple(), ref TkSettings.VisualExceptions);
            listing.DrawDescription("TKUtils.VisualExceptions.SendErrors.Description".TranslateSimple());
            listing.DrawExperimentalNotice();

            listing.End();
        }
Example #2
0
        private void DrawCommandTweakSettings(Rect region)
        {
            var listing  = new Listing_Standard();
            var viewPort = new Rect(0f, 0f, region.width - 16f, Text.LineHeight * 48f);

            GUI.BeginGroup(region);
            Widgets.BeginScrollView(region.AtZero(), ref _commandTweakPos, viewPort);
            listing.Begin(viewPort);

            listing.GroupHeader(_balanceGroupHeader, false);
            listing.CheckboxLabeled(_coinRateLabel, ref TkSettings.ShowCoinRate);
            listing.DrawDescription(_coinRateDescription);


            listing.GroupHeader(_commandHandlerGroupHeader);

            if (TkSettings.Commands)
            {
                (Rect prefixLabel, Rect prefixField) = listing.Split();
                UiHelper.Label(prefixLabel, _commandPrefixLabel);
                listing.DrawDescription(_commandPrefixDescription);
                TkSettings.Prefix = CommandHelper.ValidatePrefix(Widgets.TextField(prefixField, TkSettings.Prefix));

                (Rect buyPrefixLabel, Rect buyPrefixField) = listing.Split();
                UiHelper.Label(buyPrefixLabel, _purchasePrefixLabel);
                listing.DrawDescription(_purchasePrefixDescription);
                TkSettings.BuyPrefix = CommandHelper.ValidatePrefix(Widgets.TextField(buyPrefixField, TkSettings.BuyPrefix));
            }

            listing.CheckboxLabeled(_commandParserLabel, ref TkSettings.Commands);
            listing.DrawDescription(_commandParserDescription);

            if (TkSettings.Commands)
            {
                listing.CheckboxLabeled(_toolkitStyleLabel, ref TkSettings.ToolkitStyleCommands);
                listing.DrawDescription(_toolkitStyleDescription);
            }

            if (UiHelper.LabeledPaintableCheckbox(listing.GetRect(Text.LineHeight), _commandRouterLabel, ref TkSettings.CommandRouter))
            {
                RuntimeChecker.ValidateTicker();
            }

            listing.DrawDescription(_commandRouterDescription);
            listing.DrawExperimentalNotice();

            listing.GroupHeader(_installedModsGroupHeader);
            listing.CheckboxLabeled(_decorateUtilsLabel, ref TkSettings.DecorateMods);
            listing.DrawDescription(_decorateUtilsDescription);

            listing.CheckboxLabeled(_versionedModListLabel, ref TkSettings.VersionedModList);
            listing.DrawDescription(_versionedModListDescription);


            listing.GroupHeader(_buyItemGroupHeader);
            listing.CheckboxLabeled(_buyItemBalanceLabel, ref TkSettings.BuyItemBalance);
            listing.DrawDescription(_buyItemBalanceDescription);
            listing.CheckboxLabeled(_itemSyntaxLabel, ref TkSettings.ForceFullItem);
            listing.DrawDescription(_itemSyntaxDescription);


            listing.GroupHeader(_lookupGroupHeader);

            (Rect limitLabel, Rect limitField) = listing.Split();
            var buffer = TkSettings.LookupLimit.ToString();

            UiHelper.Label(limitLabel, _lookupLimitLabel);
            Widgets.TextFieldNumeric(limitField, ref TkSettings.LookupLimit, ref buffer);
            listing.DrawDescription(_lookupLimitDescription);

            GUI.EndGroup();
            Widgets.EndScrollView();
            listing.End();
        }
Example #3
0
        private void DrawDataSettings(Rect region)
        {
            var view    = new Rect(0f, 0f, region.width - 16f, Text.LineHeight * 32f);
            var listing = new Listing_Standard();

            GUI.BeginGroup(region);
            Widgets.BeginScrollView(region.AtZero(), ref _dataScrollPos, view);
            listing.Begin(view);

            listing.GroupHeader(_filesGroupHeader, false);

            (Rect dumpLabel, Rect dumpBtn) = listing.Split();
            UiHelper.Label(dumpLabel, _dumpStyleLabel);
            listing.DrawDescription(_dumpStyleDescription);

            if (Widgets.ButtonText(dumpBtn, $"TKUtils.DumpStyle.{TkSettings.DumpStyle}".Translate()))
            {
                Find.WindowStack.Add(_dumpStyleMenu);
            }

            listing.CheckboxLabeled(_minifyDataLabel, ref TkSettings.MinifyData);
            listing.DrawDescription(_minifyDataDescription);

            listing.CheckboxLabeled(_offloadShopLabel, ref TkSettings.Offload);
            listing.DrawDescription(_offloadShopDescription);
            listing.DrawExperimentalNotice();

            listing.CheckboxLabeled(_asapPurchasesLabel, ref TkSettings.AsapPurchases);
            listing.DrawDescription(_asapPurchasesDescription);
            listing.DrawExperimentalNotice();

            listing.CheckboxLabeled(_trueNeutralLabel, ref TkSettings.TrueNeutral);
            listing.DrawDescription(_trueNeutralDescription);
            listing.DrawExperimentalNotice();

            (Rect coinTypeLabel, Rect coinTypeField) = listing.Split();
            UiHelper.Label(coinTypeLabel, _broadcasterTypeLabel);
            listing.DrawDescription(_broadcasterTypeDescription);
            listing.DrawExperimentalNotice();

            if (Widgets.ButtonText(coinTypeField, $"TKUtils.BroadcasterUserType.{TkSettings.BroadcasterCoinType}".Translate()))
            {
                Find.WindowStack.Add(_broadcasterUserTypeMenu);
            }


            listing.GroupHeader(_lazyProcessGroupHeader);

            (Rect storeLabel, Rect storeField) = listing.Split();
            UiHelper.Label(storeLabel, _storeRateLabel);
            listing.DrawDescription(_storeRateDescription);

            if (UiHelper.NumberField(storeField, out int value, ref _buildRateBuffer, ref _buildRateBufferValid))
            {
                TkSettings.StoreBuildRate = value;
            }

            listing.End();
            Widgets.EndScrollView();
            GUI.EndGroup();
        }