Esempio n. 1
0
        public void DoWindowContents(Rect canvas)
        {
            Listing_Standard list = new Listing_Standard
            {
                ColumnWidth = canvas.width
            };

            list.Begin(canvas);

            list.Gap();
            Settings_FactionOptions.DrawSlider(list, "RFC.factionDensity".Translate() + " " + GetFactionDensityLabel(factionDensity), ref factionDensity, ref strFacDen, 0.01f, 8f);

            list.Gap(24);
            list.Label("RFC.factionGrouping".Translate() + "  " + GetFactionGroupingLabel(factionGrouping));// + "(" + factionGrouping.ToString("n2") + ")");
            factionGrouping = list.Slider(factionGrouping, 0.5f, 5f);

            list.Gap(24);
            list.CheckboxLabeled("RFC.AllowMechanoids".Translate(), ref allowMechanoids, "RFC.AllowMechanoidsTip".Translate());
            list.Gap(24);
            list.CheckboxLabeled("RFC.EnableFactionRandomGoodwill".Translate(), ref randomGoodwill, "RFC.EnableFactionRandomGoodwillToolTip".Translate());
            list.Gap(24);
            list.CheckboxLabeled("RFC.EnableFactionDynamicColors".Translate(), ref dynamicColors, "RFC.EnableFactionDynamicColorsTip".Translate());
            list.Gap(24);
            list.CheckboxLabeled("RFC.SpreadPirates".Translate(), ref spreadPirates);
            list.Gap(24);
            list.CheckboxLabeled("RFC.RelationChangesOverTime".Translate(), ref relationsChangeOverTime);
            list.End();
        }
Esempio n. 2
0
        public override void DoSettingsWindowContents(Rect inRect)
        {
            Listing_Standard list = new Listing_Standard(GameFont.Small)
            {
                ColumnWidth = inRect.width
            };

            list.Begin(inRect);

            if (baseFilterSearchMod != null)
            {
                RSACoreMod.DoSettingsContents(list);
            }

            list.CheckboxLabeled(RSAKeys.RSA_ForOutfits.Translate(), ref Settings.EnableOutfitFilter, RSAKeys.RSA_ForOutfitsTip.Translate());
            list.CheckboxLabeled(RSAKeys.RSA_ForCrafting.Translate(), ref Settings.EnableCraftingFilter, RSAKeys.RSA_ForCraftingTip.Translate());

            if (RSACoreMod.Debug)
            {
                list.GapLine();
                list.Label(RSACoreKeys.RSACore_Debug.Translate(typeof(RSACoreMod).Assembly.GetName().Version.ToString()));
            }

            if (baseFilterSearchMod != null)
            {
                RSACoreMod.DoPreview(list);
            }

            list.End();
        }
        public static void DoWindowContents(Rect rect)
        {
            var options = new Listing_Standard();

            options.Begin(rect);
            var optionRect = options.GetRect(Text.LineHeight);
            var fieldRect  = optionRect;
            var labelRect  = optionRect;

            fieldRect.xMin = optionRect.xMax - optionRect.width * (1 / 8f);
            labelRect.xMax = fieldRect.xMin;
            TooltipHandler.TipRegion(optionRect, Resources.Strings.UpdateIntervalTooltip);
            Widgets.DrawHighlightIfMouseover(optionRect);
            Widgets.Label(labelRect, Resources.Strings.UpdateInterval);
            var updateFrequencyBuffer = UpdateFrequency.ToString();

            Widgets.TextFieldNumeric(fieldRect, ref UpdateFrequency, ref updateFrequencyBuffer, 1, 120);
            options.Gap(options.verticalSpacing);
            options.CheckboxLabeled(Resources.Strings.AssignMultipleDoctors, ref AssignMultipleDoctors,
                                    Resources.Strings.AssignMultipleDoctorsTooltip);
            options.CheckboxLabeled(Resources.Strings.AssignAllWorkTypes, ref AssignAllWorkTypes,
                                    Resources.Strings.AssignAllWorkTypesTooltip);
            options.CheckboxLabeled(Resources.Strings.AllHaulers, ref AllHaulers, Resources.Strings.AllHaulersTooltip);
            options.CheckboxLabeled(Resources.Strings.AllCleaners, ref AllCleaners,
                                    Resources.Strings.AllCleanersTooltip);
            options.End();
        }
Esempio n. 4
0
        public void DoWindowContents(Rect rect)
        {
            var options = new Listing_Standard();

            options.Begin(rect);
            options.Label("All changes (except maint. station fuel consumption) require a restart to take effect.");
            options.Gap(24f);
            options.CheckboxLabeled("Hide peacekeeper robots from colonist bar", ref hidePeacekeepersFromColonistBar);
            options.CheckboxLabeled("Count peacekeeper robots towards colonist population", ref countPeacekeepersTowardsPopulation);
            options.CheckboxLabeled("Allow robots to wear clothes? (clothes may not completely fit but that won't be addressed)", ref allowClothing);
            options.Gap(24f);
            options.Label($"Maintenance station: Component fuel consumption rate per day: {Math.Round(fuelConsumptionRate, 2)}");
            fuelConsumptionRate = options.Slider(fuelConsumptionRate, 0.01f, 2f);
            options.Label($"Interval of days between SRS trade ships (+2 days on which the event can happen): {Math.Round(daysPauseBetweenTradeShips, 1)}");
            daysPauseBetweenTradeShips = options.Slider(daysPauseBetweenTradeShips, 1f, 60f);
            options.CheckboxLabeled("Remove ideology diversity impact", ref ModSettings.removeIdeologyImpact);

            options.Gap(24f);
            if (options.ButtonTextLabeled("Spawn random test robot at random colonist location", "Spawn"))
            {
                PeacekeeperUtility.SpawnRandomRobot();
            }

            options.End();
        }
Esempio n. 5
0
        public static void DoWindowContents(Rect canvas)
        {
            var list = new Listing_Standard {
                ColumnWidth = canvas.width
            };

            list.Begin(canvas);
            list.Gap();

            _ = list.Label("Path to dnSpy.exe");
            GUILocator.Settings.dnSpyPath = list.TextEntry(GUILocator.Settings.dnSpyPath);
            if (ButtonText(list, "Download"))
            {
                _ = Process.Start("https://github.com/dnSpy/dnSpy/releases/latest");
            }
            list.Gap();

            _ = list.Label($"Number of methods to display: {GUILocator.Settings.numberOfMethodsToDisplay}");
            GUILocator.Settings.numberOfMethodsToDisplay = (int)list.Slider(GUILocator.Settings.numberOfMethodsToDisplay, 1, 6);
            list.Gap();

            list.CheckboxLabeled("Use full class name", ref GUILocator.Settings.useFullClassname);
            list.Gap();

            list.CheckboxLabeled("Sort elements by order they are added", ref GUILocator.Settings.sortByAddedOrder);
            list.End();
        }
Esempio n. 6
0
        public override void DoSettingsWindowContents(Rect inRect)
        {
            Listing_Standard listingStandard = new Listing_Standard();

            inRect.width /= 2;
            listingStandard.Begin(inRect);
            listingStandard.Label("RPG_Inventory_Width".Translate());
            listingStandard.TextFieldNumeric(ref Sandy_RPG_Settings.rpgTabWidth, ref tabWidth);
            string s;

            if (Sandy_Detailed_RPG_GearTab.minRecommendedWidth == Sandy_RPG_Settings.rpgTabWidth)
            {
                s = "RPG_AutoFitWidth_Wide_Button_Label".Translate();
            }
            else if (Sandy_Detailed_RPG_GearTab.maxRecommendedWidth == Sandy_RPG_Settings.rpgTabWidth)
            {
                s = "RPG_AutoFitWidth_Tight_Button_Label".Translate();
            }
            else
            {
                s = "RPG_AutoFitWidth_Button_Label".Translate();
            }
            if (listingStandard.ButtonText(s))
            {
                DoFit(Sandy_RPG_Settings.displayAllSlots);
            }
            listingStandard.Gap();
            listingStandard.Label("RPG_Inventory_Height".Translate());
            listingStandard.TextFieldNumeric(ref Sandy_RPG_Settings.rpgTabHeight, ref tabHeight);
            //
            if (Sandy_Utility.CustomCheckboxLabeled(listingStandard, "RPG_Display_All_Slots_Label".Translate(), ref Sandy_RPG_Settings.displayAllSlots, "RPG_Display_All_Slots_Note".Translate()))
            {
                DoFit(Sandy_RPG_Settings.displayAllSlots, true);
            }
            if (!Sandy_RPG_Settings.displayAllSlots)
            {
                listingStandard.CheckboxLabeled("RPG_Display_Background_Label".Translate(), ref Sandy_RPG_Settings.displayBG, "RPG_Display_Background_Note".Translate());
                if (!Sandy_RPG_Settings.displayBG)
                {
                    listingStandard.CheckboxLabeled("RPG_Display_Static_Slot_Background_Label".Translate(), ref Sandy_RPG_Settings.displayStaticSlotBG, "RPG_Display_Static_Slot_Background_Note".Translate());
                }
            }
            listingStandard.CheckboxLabeled("RPG_Dispaly_Temp_On_The_Same_Line_Label".Translate(), ref Sandy_RPG_Settings.displayTempOnTheSameLine, "RPG_Dispaly_Temp_On_The_Same_Line_Note".Translate());
            listingStandard.CheckboxLabeled("RPG_Display_Apparel_Healthbar_Label".Translate(), ref Sandy_RPG_Settings.apparelHealthbar, "RPG_Display_Apparel_Healthbar_Note".Translate());

            listingStandard.CheckboxLabeled("RPG_Color_Codes_Label".Translate(), ref Sandy_RPG_Settings.useColorCoding, "RPG_Color_Codes_Note".Translate());
            if (Sandy_RPG_Settings.useColorCoding)
            {
                listingStandard.ColorSelector("QualityCategory_Legendary".Translate().CapitalizeFirst(), Sandy_RPG_Settings.colLegendary, c => Sandy_RPG_Settings.colLegendary    = c);
                listingStandard.ColorSelector("QualityCategory_Masterwork".Translate().CapitalizeFirst(), Sandy_RPG_Settings.colMasterwork, c => Sandy_RPG_Settings.colMasterwork = c);
                listingStandard.ColorSelector("QualityCategory_Excellent".Translate().CapitalizeFirst(), Sandy_RPG_Settings.colExcellent, c => Sandy_RPG_Settings.colExcellent    = c);
                listingStandard.ColorSelector("QualityCategory_Good".Translate().CapitalizeFirst(), Sandy_RPG_Settings.colGood, c => Sandy_RPG_Settings.colGood       = c);
                listingStandard.ColorSelector("QualityCategory_Normal".Translate().CapitalizeFirst(), Sandy_RPG_Settings.colNormal, c => Sandy_RPG_Settings.colNormal = c);
                listingStandard.ColorSelector("QualityCategory_Poor".Translate().CapitalizeFirst(), Sandy_RPG_Settings.colPoor, c => Sandy_RPG_Settings.colPoor       = c);
                listingStandard.ColorSelector("QualityCategory_Awful".Translate().CapitalizeFirst(), Sandy_RPG_Settings.colAwful, c => Sandy_RPG_Settings.colAwful    = c);
            }

            listingStandard.End();
            base.DoSettingsWindowContents(inRect);
        }
Esempio n. 7
0
        public static void DoSettingsWindowContents(Rect inRect)
        {
            Listing_Standard listing_Standard = new Listing_Standard();

            listing_Standard.Begin(inRect);

            listing_Standard.CheckboxLabeled("ALConfigCuriosityEatingLabel".Translate(), ref prevent_eating_stuff, "ALConfigCuriosityEatingTooltip".Translate());
            listing_Standard.CheckboxLabeled("ALConfigHostilePredatorsLabel".Translate(), ref hostile_predators, "ALConfigHostilePredatorsTooltip".Translate());
            listing_Standard.CheckboxLabeled("ALConfigEggConversionLabel".Translate(), ref convert_ruined_eggs, "ALConfigEggConversionTooltip".Translate());
            listing_Standard.CheckboxLabeled("ALConfigMeatConversionLabel".Translate(), ref tastes_like_chicken, "ALConfigMeatConversionTooltip".Translate());
            listing_Standard.CheckboxLabeled("ALConfigMedicalAlertsLabel".Translate(), ref medical_alerts, "ALConfigMedicalAlertsTooltip".Translate());
            listing_Standard.CheckboxLabeled("ALConfigTradeHintsLabel".Translate(), ref trade_tags, "ALConfigTradeHintsTooltip".Translate());
            listing_Standard.CheckboxLabeled("ALConfigAnimalsCanUseFoodDispenserLabel".Translate(), ref use_dispenser, "ALConfigAnimalsCanUseFoodDispenserTooltip".Translate());
            listing_Standard.CheckboxLabeled("ALConfigShowExtraDisplayStatsLabel".Translate(), ref extra_display_stats, "ALConfigShowExtraDisplayStatsTooltip".Translate());
            listing_Standard.CheckboxLabeled("ALConfigAlwaysShowRelationsLabel".Translate(), ref always_show_relations, "ALConfigAlwaysShowRelationsTooltip".Translate());
            listing_Standard.CheckboxLabeled("ALConfigTamingAgeFactorLabel".Translate(), ref taming_age_factor, "ALConfigTamingAgeFactorTooltip".Translate());

            listing_Standard.Label("ALConfigTamenessDecayThresholdLabel".Translate(((float)Math.Round(wildness_threshold_for_tameness_decay, 3) * 100).ToString()), tooltip: "ALConfigTamenessDecayThresholdTooltip".Translate());
            wildness_threshold_for_tameness_decay = listing_Standard.Slider(wildness_threshold_for_tameness_decay, 0f, 1f);

            listing_Standard.Label("ALConfigTrainingDecaySpeedFactorLabel".Translate(((float)Math.Round(training_decay_factor, 3)).ToStringPercent()), tooltip: "ALConfigTrainingDecaySpeedFactorTooltip".Translate());
            training_decay_factor = listing_Standard.Slider(training_decay_factor, 0.01f, 2f);

            listing_Standard.Label("ALConfigHaulingMTBLabel".Translate(((float)Math.Round(Math.Round(haul_mtb * 4) / 4f, 2))), tooltip: "ALConfigHaulingMTBTooltip".Translate());
            haul_mtb = listing_Standard.Slider(haul_mtb, 0.0f, 3f);

            listing_Standard.Label("ALConfigToxicBuildupRotLabel".Translate(((float)Math.Round(toxic_buildup_rot, 3)).ToStringPercent()), tooltip: "ALConfigToxicBuildupRotTooltip".Translate());
            toxic_buildup_rot = listing_Standard.Slider(toxic_buildup_rot, 0.00f, 1f);

            listing_Standard.End();
        }
Esempio n. 8
0
        public void DoWindowContents(Rect wrect)
        {
            var options = new Listing_Standard();

            options.Begin(wrect);

            options.SliderLabeled("TD.SettingTradeBonus".Translate(), ref tradeBonus, "{0:P0}", .02f, .50f);
            options.Label("TD.SettingBonusAlso".Translate());
            options.CheckboxLabeled("TD.SettingBestPrice".Translate(), ref bestPrice, "TD.SettingBestPriceDesc".Translate());
            fairPrice &= !bestPrice;
            options.CheckboxLabeled("TD.SettingFairPrice".Translate(), ref fairPrice, "TD.SettingFairPriceDesc".Translate());
            options.Label("TD.SettingOtherwisePrice".Translate());
            bestPrice &= !fairPrice;

            options.Gap();

            options.CheckboxLabeled("TD.SettingMoodBonus".Translate(), ref moodBonus);
            if (moodBonus)
            {
                options.SliderLabeled("TD.SettingMoodBonusNoBeds".Translate(), ref moodBonus0, "+{0:0}", 0, 50);
                options.SliderLabeled("TD.SettingMoodBonusBeds".Translate(), ref moodBonus1, "+{0:0}", 0, 50);
                ThoughtDefOf.Traveling.stages[0].baseMoodEffect = moodBonus0;
                ThoughtDefOf.Traveling.stages[1].baseMoodEffect = moodBonus1;
            }

            options.End();
        }
        public void DoWindowContents(Rect inRect)
        {
            List <string>    keys  = pawnSpawnStates.Keys.ToList().OrderByDescending(x => x).ToList();
            Listing_Standard ls    = new Listing_Standard();
            Rect             rect  = new Rect(inRect.x, inRect.y, inRect.width, inRect.height);
            Rect             rect2 = new Rect(0f, 0f, inRect.width - 30f, ((keys.Count / 2) + 2) * 24);

            Widgets.BeginScrollView(rect, ref scrollPosition, rect2, true);
            ls.ColumnWidth = rect2.width / 2.2f;
            ls.Begin(rect2);
            ls.CheckboxLabeled("allowVanillaAnimals".Translate(), ref flagVanillaAnimals, null);
            for (int num = keys.Count - 1; num >= 0; num--)
            {
                if (num == keys.Count / 2)
                {
                    ls.NewColumn();
                }
                bool test = pawnSpawnStates[keys[num]];
                if (DefDatabase <PawnKindDef> .GetNamedSilentFail(keys[num]) == null)
                {
                    pawnSpawnStates.Remove(keys[num]);
                }
                else
                {
                    ls.CheckboxLabeled("AA_DisableAnimal".Translate(PawnKindDef.Named(keys[num]).LabelCap), ref test);
                    pawnSpawnStates[keys[num]] = test;
                }
            }

            ls.End();
            Widgets.EndScrollView();
            base.Write();
        }
Esempio n. 10
0
        public void DoWindowContents(Rect wrect)
        {
            Listing_Standard settings = new Listing_Standard();

            settings.Begin(wrect);

            /* Experimental settings. */
            settings.Label("WARNING: EXPERIMENTAL!");

            /* Peek pawns anywhere. */
            settings.CheckboxLabeled("Peek pawns anywhere",
                                     ref Peek.PawnsAnywhere,
                                     "If true, peek pawns anywhere. " +
                                     "If false, only peek pawns on the same map.");

            /* Peek and select. */
            settings.CheckboxLabeled("Peek and select",
                                     ref Peek.AndSelect,
                                     "If true, select the pawn being peeked. " +
                                     "If false, do not select the pawn being peeked. " +
                                     "The peeked pawn remains selected even after peeking and it is impossible to select multiple pawns while peeking.");

            /* Peek selected. */
            settings.CheckboxLabeled("Peek selected",
                                     ref Peek.Selected,
                                     "If true, peek the selected thing. " +
                                     "If false, do not peek the selected thing.");

            settings.End();
        }
        public override void DoSettingsWindowContents(Rect inRect)
        {
            var  listing  = new Listing_Standard();
            Rect paneRect = inRect.ContractedBy(100);

            listing.Begin(paneRect);

            listing.Label("AS_Mod.MaxOverstackRatio.Label".Translate(settings.maxOverstackRatio.ToString()));
            settings.maxOverstackRatio = listing.Slider(settings.maxOverstackRatio, 0.25f, 20f, 0.1f);
            Rect overstackRect = new Rect(0, 0, paneRect.width, listing.CurHeight);

            Widgets.DrawHighlightIfMouseover(overstackRect);
            TooltipHandler.TipRegion(overstackRect, new TipSignal("AS_Mod.MaxOverstackRatio.Tooltip".Translate()));

            listing.Label("AS_Mod.MaxOverlayLimit.Label".Translate(settings.maxOverlayLimit.ToString()));
            settings.maxOverlayLimit = listing.Slider(settings.maxOverlayLimit, 1f, 20f, 1f);
            Rect overlayRect = new Rect(0, overstackRect.yMax, paneRect.width, listing.CurHeight - overstackRect.height);

            Widgets.DrawHighlightIfMouseover(overlayRect);
            TooltipHandler.TipRegion(overlayRect, new TipSignal("AS_Mod.MaxOverlayLimit.Tooltip".Translate()));

            listing.ColumnWidth = listing.ColumnWidth / 2;
            listing.CheckboxLabeled("AS_MOD.OverlaysReduceStacklimit.Label".Translate(), ref settings.overlaysReduceStacklimit
                                    , "AS_MOD.OverlaysReduceStacklimit.Tooltip".Translate());
            if (settings.overlaysReduceStacklimit)
            {
                listing.CheckboxLabeled("AS_MOD.OverlaysReduceStacklimit.Partially.Label".Translate()
                                        , ref settings.overlaysReduceStacklimitPartially, "AS_MOD.OverlaysReduceStacklimit.Partially.Tooltip".Translate());
            }
            listing.End();
        }
Esempio n. 12
0
        // Token: 0x06000073 RID: 115 RVA: 0x00004EF4 File Offset: 0x000030F4
        public void DoWindowContents(Rect canvas)
        {
            var listing_Standard = new Listing_Standard {
                ColumnWidth = canvas.width
            };

            listing_Standard.Begin(canvas);
            listing_Standard.Gap();
            if (!ModLister.HasActiveModWithName("Medical Supplements"))
            {
                listing_Standard.CheckboxLabeled("AY.RealismBandages".Translate(), ref RealismBandages);
                listing_Standard.Gap();
            }

            listing_Standard.CheckboxLabeled("AY.WashLowersQual".Translate(), ref WashLowersQual);
            listing_Standard.Gap();
            listing_Standard.CheckboxLabeled("AY.AllowCollapseRocks".Translate(), ref AllowCollapseRocks);
            listing_Standard.Gap(36f);
            checked
            {
                listing_Standard.Label("AY.ResPct".Translate() + "  " + (int)ResPct);
                ResPct = (int)listing_Standard.Slider((int)ResPct, 10f, 200f);
                listing_Standard.Gap();
                Text.Font = GameFont.Tiny;
                listing_Standard.Label("          " + "AY.ResWarn".Translate());
                listing_Standard.Gap();
                listing_Standard.Label("          " + "AY.ResTip".Translate());
                Text.Font = GameFont.Small;
                listing_Standard.Gap();
                listing_Standard.End();
            }
        }
Esempio n. 13
0
    public static void DoSettingsWindowContents(Rect rect)
    {
        var listing_Standard = new Listing_Standard(GameFont.Small)
        {
            ColumnWidth = rect.width
        };

        listing_Standard.Begin(rect);
        listing_Standard.Label("ProjectileInversionSettingSpeedLabel".Translate() + ":" + speed.ToString("0.0"),
                               -1f, "ProjectileInversionSettingSpeedDesc".Translate());
        speed = (int)listing_Standard.Slider(speed, 1f, 999f);
        listing_Standard.CheckboxLabeled("ProjectileInversionSettingShowTextLabel".Translate(), ref showText,
                                         "ProjectileInversionSettingShowTextDesc".Translate());
        listing_Standard.CheckboxLabeled("ProjectileInversionSettingNoReboundLabel".Translate(), ref noRebound,
                                         "ProjectileInversionSettingNoReboundDesc".Translate());
        listing_Standard.CheckboxLabeled("ProjectileInversionSettingAutoTraitLabel".Translate(), ref addTrait,
                                         "ProjectileInversionSettingAutoTraitDesc".Translate());
        listing_Standard.Gap();
        listing_Standard.Label("ProjectileInversionSettingWeaponDamageLabel".Translate(weaponDamage));
        listing_Standard.IntAdjuster(ref weaponDamage, 1);
        listing_Standard.Gap();
        listing_Standard.Label("ProjectileInversionSettingBaseChanceLabel".Translate(baseChance * 100));
        baseChance = (float)Math.Round(listing_Standard.Slider(baseChance, 0.01f, 1f), 2);
        if (currentVersion != null)
        {
            listing_Standard.Gap();
            GUI.contentColor = Color.gray;
            listing_Standard.Label("ProjectileInversionSettingCurrentModVersionLabel".Translate(currentVersion));
            GUI.contentColor = Color.white;
        }

        listing_Standard.End();
    }
Esempio n. 14
0
        // Token: 0x060000AE RID: 174 RVA: 0x00006364 File Offset: 0x00004564
        public void DoWindowContents(Rect canvas)
        {
            var listing_Standard = new Listing_Standard {
                ColumnWidth = canvas.width
            };

            listing_Standard.Begin(canvas);
            listing_Standard.Gap();
            checked
            {
                listing_Standard.Label("RimPlas.ResPct".Translate() + "  " + (int)ResPct);
                ResPct = (int)listing_Standard.Slider((int)ResPct, 10f, 200f);
                listing_Standard.Gap();
                Text.Font = GameFont.Tiny;
                listing_Standard.Label("          " + "RimPlas.ResWarn".Translate());
                listing_Standard.Gap();
                listing_Standard.Label("          " + "RimPlas.ResTip".Translate());
                Text.Font = GameFont.Small;
                listing_Standard.Gap();
                listing_Standard.Label("RimPlas.GVentMin".Translate() + "  " + (int)GVentMin);
                GVentMin = (int)listing_Standard.Slider(GVentMin, -20f, 20f);
                listing_Standard.Gap();
                listing_Standard.Label("RimPlas.GVentMax".Translate() + "  " + (int)GVentMax);
                GVentMax = (int)listing_Standard.Slider(GVentMax, 25f, 50f);
                listing_Standard.Gap();
                listing_Standard.CheckboxLabeled("RimPlas.AllowPainCtrlHB".Translate(), ref AllowPainCtrlHB);
                listing_Standard.Gap();
                listing_Standard.CheckboxLabeled("RimPlas.AllowRecCtrlHB".Translate(), ref AllowRecCtrlHB);
                listing_Standard.Gap();
                listing_Standard.CheckboxLabeled("RimPlas.AllowMentalCtrlHB".Translate(), ref AllowMentalCtrlHB);
                listing_Standard.Gap();
                listing_Standard.End();
            }
        }
Esempio n. 15
0
        /// <summary>
        /// The (optional) GUI part to set your settings.
        /// </summary>
        /// <param name="inRect">A Unity Rect with the size of the settings window.</param>
        public override void DoSettingsWindowContents(Rect inRect)
        {
            Listing_Standard listingStandard = new Listing_Standard();

            listingStandard.Begin(inRect);
            listingStandard.Label("-=[ " + "ThroneRoomSettings".Translate() + " ]=-");
            listingStandard.CheckboxLabeled("ThroneRoomRequiredByHighestCheckboxLabel".Translate(), ref settings.throneRoomTweaks, "ThroneRoomRequiredByHighestCheckboxTooltip".Translate());
            if (settings.throneRoomTweaks)
            {
                listingStandard.CheckboxLabeled("SpouseOptionLabel".Translate(), ref settings.spouseWantsThroneroom, "SpouseOptionTooltip".Translate());
            }
            listingStandard.Label("");
            listingStandard.Label("-=[ " + "RoyalPassionSkillSettings".Translate() + " ]=-");
            listingStandard.CheckboxLabeled("PassionSkillsCheckboxLabel".Translate(), ref settings.willWorkPassionSkills, "PassionSkillsCheckboxTooltip".Translate());
            if (settings.willWorkPassionSkills)
            {
                if (listingStandard.RadioButton("MajorAndMinorLabel".Translate(), settings.willWorkOnlyMajorPassionSkills == false, 0f, "MajorAndMinorTooltip".Translate()))
                {
                    settings.willWorkOnlyMajorPassionSkills = false;
                }
                if (listingStandard.RadioButton("OnlyMajorLabel".Translate(), settings.willWorkOnlyMajorPassionSkills == true, 0f, "OnlyMajorTooltip".Translate()))
                {
                    settings.willWorkOnlyMajorPassionSkills = true;
                }
            }

            //listingStandard.Label("exampleFloatExplanation");
            //settings.exampleFloat = listingStandard.Slider(settings.exampleFloat, 100f, 300f);
            listingStandard.End();
            base.DoSettingsWindowContents(inRect);
        }
Esempio n. 16
0
        public void Draw(Rect canvas)
        {
            var listingStandard = new Listing_Standard();

            listingStandard.Begin(canvas);

            // Do general settings
            Text.Font = GameFont.Medium;
            listingStandard.Label("Replimat_Settings_HeaderGeneral".Translate());
            Text.Font = GameFont.Small;
            listingStandard.Gap();

            listingStandard.CheckboxLabeled("Replimat_Settings_PrioritizeFoodQuality_Title".Translate(),
                                            ref PrioritizeFoodQuality, "Replimat_Settings_PrioritizeFoodQuality_Desc".Translate());
            listingStandard.Label("Replimat_Settings_HopperRefillThresholdPercent_Title".Translate() + ": " + HopperRefillThresholdPercent.ToStringPercent("F0"), -1f, "Replimat_Settings_HopperRefillThresholdPercent_Desc".Translate());
            HopperRefillThresholdPercent = (float)Math.Round((double)listingStandard.Slider(HopperRefillThresholdPercent, 0.05f, 1f), 2);

            // Do incident settings
            Text.Font = GameFont.Medium;
            listingStandard.Label("Replimat_Settings_HeaderIncidents".Translate());
            Text.Font = GameFont.Small;
            listingStandard.Gap();

            listingStandard.CheckboxLabeled("Replimat_Settings_EnableIncidentSpill_Title".Translate(), ref EnableIncidentSpill, "Replimat_Settings_EnableIncidentSpill_Desc".Translate());
            listingStandard.CheckboxLabeled("Replimat_Settings_EnableIncidentKibble_Title".Translate(), ref EnableIncidentKibble, "Replimat_Settings_EnableIncidentKibble_Desc".Translate());
            listingStandard.End();
        }
Esempio n. 17
0
        public void DoWindowContents(Rect canvas)
        {
            Rect nifta = canvas.ContractedBy(40f);

            listing_Standard             = new Listing_Standard();
            listing_Standard.ColumnWidth = (nifta.width - 40f) / 2f;

            listing_Standard.Begin(canvas.ContractedBy(60f));

            listing_Standard.CheckboxLabeled("Hide hats when sleeping", ref HatsSleeping);
            listing_Standard.CheckboxLabeled("Hide hats when indoors", ref HatsIndoors);
            listing_Standard.CheckboxLabeled("Hair visible under hats", ref HairUnderHats);
            listing_Standard.GapLine();
            listing_Standard.Label("Apparel equip speed");
            listing_Standard.CheckboxLabeled("Same speed for all apparel", ref FlatRate);

            if (FlatRate)
            {
                listing_Standard.LabelDouble("Equip speed Ticks", $"{EquipModTicks} ticks");
                listing_Standard.IntEntry(ref EquipModTicks, ref buf);
            }
            else
            {
                listing_Standard.LabelDouble("Equip speed %", $"{EquipModPC.ToStringPercent()}");
                EquipModPC = listing_Standard.Slider(EquipModPC, 0, 1f);
            }

            listing_Standard.End();
        }
        public void DoWindowContents(Rect inRect)
        {
            Listing_Standard ls = new Listing_Standard();

            ls.Begin(inRect);

            ls.ColumnWidth = inRect.width / 2;

            ls.CheckboxLabeled("Show welcome message?", ref ShowWelcomeMessage);

            ls.Gap();

            ls.Label("Amount of coins given per lootbox range");
            ls.IntRange(ref RandomCoinRange, 1, 10000);

            ls.Gap();

            string perDayBuffer = LootboxesPerDay.ToString();

            ls.TextFieldNumericLabeled("Lootboxes per day:", ref LootboxesPerDay, ref perDayBuffer, 0, 20);

            ls.Gap();

            ls.CheckboxLabeled("Force Viewers to Open all Lootboxes at Once", ref ForceOpenAllLootboxesAtOnce);

            ls.End();
        }
Esempio n. 19
0
        /// <param name="inRect"> A Unity Rect with the size of the settings window. </param>
        public override void DoSettingsWindowContents(Rect inRect)
        {
            Listing_Standard listingStandard = new Listing_Standard();

            listingStandard.Begin(inRect);
            listingStandard.CheckboxLabeled("enableFalloutCheckboxLabel".Translate(), ref settings.enableFallout, "enableFalloutCheckboxTooltip".Translate());
            listingStandard.CheckboxLabeled("enableMutagenCheckboxLabel".Translate(), ref settings.enableMutagenShipPart, "enableMutagenCheckboxTooltip".Translate());
            listingStandard.CheckboxLabeled("enableMutagenDiseasesCheckboxLabel".Translate(), ref settings.enableMutagenDiseases, "enableMutagenDiseasesCheckboxTooltip".Translate());
            listingStandard.CheckboxLabeled("enableMutagenMeteorCheckboxLabel".Translate(), ref settings.enableMutagenMeteor, "enableMutagenMeteorCheckboxTooltip".Translate());
            listingStandard.CheckboxLabeled("enableWildFormersCheckboxLabel".Translate(), ref settings.enableWildFormers, "enableWildFormersCheckboxTooltip".Translate());
            listingStandard.GapLine();
            listingStandard.Label($"{"transformChanceSliderLabel".Translate()}: {settings.transformChance.ToString("F1")}%");
            settings.transformChance = listingStandard.Slider(settings.transformChance, 0f, 100f);
            listingStandard.Label($"{"formerChanceSliderLabel".Translate()}: {settings.formerChance.ToString("F1")}%");
            settings.formerChance = listingStandard.Slider(settings.formerChance, 0f, 100f);
            listingStandard.Label($"{"partialChanceSliderLabel".Translate()}: {settings.partialChance.ToString("F1")}%");
            settings.partialChance = listingStandard.Slider(settings.partialChance, 0f, 100f);
            listingStandard.Label($"{"maxMutationThoughtsSliderLabel".Translate()}: {settings.maxMutationThoughts}");
            settings.maxMutationThoughts = (int)listingStandard.Slider(settings.maxMutationThoughts, 1, 10);

            listingStandard.Label($"logging level:{settings.logLevel}");
            float f        = (float)((int)settings.logLevel);
            var   maxLevel = (int)LogLevel.Pedantic;

            f = listingStandard.Slider(f, 0, maxLevel + 1);
            settings.logLevel = (LogLevel)Mathf.FloorToInt(Mathf.Clamp(f, 0, maxLevel));
            listingStandard.End();
            base.DoSettingsWindowContents(inRect);
        }
Esempio n. 20
0
        public override void DoSettingsWindowContents(Rect canvas)
        {
            base.DoSettingsWindowContents(canvas);
            var listing = new Listing_Standard();

            listing.ColumnWidth = canvas.width;
            listing.Begin(canvas);
            listing.CheckboxLabeled(I18n.ShowPromotions, ref Settings.ShowPromotions, I18n.ShowPromotionsTip);

            if (!Settings.ShowPromotions)
            {
                GUI.color = Color.grey;
            }

            listing.CheckboxLabeled(I18n.ShowPromotions_NotSubscribed, ref Settings.ShowPromotions_NotSubscribed);
            listing.CheckboxLabeled(I18n.ShowPromotions_NotActive, ref Settings.ShowPromotions_NotActive);

            GUI.color = Color.white;
            listing.Gap();

            listing.CheckboxLabeled(I18n.TrimTags, ref Settings.TrimTags, I18n.TrimTagsTip);
            if (!Settings.TrimTags)
            {
                GUI.color = Color.grey;
            }
            listing.CheckboxLabeled(I18n.TrimVersionStrings, ref Settings.TrimVersionStrings, I18n.TrimVersionStringsTip);

            GUI.color = Color.white;
            listing.End();
        }
        public override void DoSettingsWindowContents(Rect inRect)
        {
            Listing_Standard ls    = new Listing_Standard();
            Rect             rect2 = new Rect(0f, 0f, inRect.width / 2 - 16f, inRect.height + DefDatabase <TraitDef> .AllDefs.Count() * 27);

            Widgets.BeginScrollView(inRect, ref scrollPosition, rect2, true);
            ls.Begin(rect2);

            ls.CheckboxLabeled("Notify when surgery succeed", ref settings.notifyWhenSuccess);
            ls.Label("Keep Trait List", -1, "Check the trait to prevent being removed in midgame.");
            ls.GapLine();

            foreach (TraitDef def in DefDatabase <TraitDef> .AllDefsListForReading)
            {
                foreach (TraitDegreeData i in def.degreeDatas)
                {
                    string uniqueTrait = def.defName + "(" + i.degree + ")";
                    bool   index       = settings.disableDict.TryGetValue(uniqueTrait, false);
                    ls.CheckboxLabeled(uniqueTrait, ref index);
                    settings.disableDict[uniqueTrait] = index;
                }
            }
            settings.Write();
            ls.End();
            Widgets.EndScrollView();
        }
Esempio n. 22
0
        public static void DoWindowContents(Rect rect, Listing_Standard optionsListing)
        {
            optionsListing.Label("All");
            optionsListing.GapLine();

            optionsListing.SliderLabeled("TwitchToolkitVoteTime".Translate(), ref ToolkitSettings.VoteTime, Math.Round((double)ToolkitSettings.VoteTime).ToString(), 1f, 15f);
            optionsListing.SliderLabeled("TwitchToolkitVoteOptions".Translate(), ref ToolkitSettings.VoteOptions, Math.Round((double)ToolkitSettings.VoteOptions).ToString(), 2f, 5f);
            optionsListing.CheckboxLabeled("TwitchToolkitVotingChatMsgs".Translate(), ref ToolkitSettings.VotingChatMsgs);
            optionsListing.CheckboxLabeled("TwitchToolkitVotingWindow".Translate(), ref ToolkitSettings.VotingWindow);
            optionsListing.CheckboxLabeled("TwitchToolkitLargeVotingWindow".Translate(), ref ToolkitSettings.LargeVotingWindow);

            optionsListing.Gap();
            optionsListing.Label("Tory Talker");
            optionsListing.GapLine();

            string toryTalkerMTBDays = Math.Truncate(((double)ToolkitSettings.ToryTalkerMTBDays * 100) / 100).ToString();

            optionsListing.TextFieldNumericLabeled <float>("Average Days Between Events", ref ToolkitSettings.ToryTalkerMTBDays, ref toryTalkerMTBDays, 0.5f, 10f);

            optionsListing.Gap();
            optionsListing.Label("Hodlbot");
            optionsListing.GapLine();

            string hodlbotMTBDays = Math.Truncate(((double)ToolkitSettings.HodlBotMTBDays * 100) / 100).ToString();

            optionsListing.TextFieldNumericLabeled <float>("Average Days Between Events", ref ToolkitSettings.HodlBotMTBDays, ref hodlbotMTBDays, 0.5f, 10f);

            optionsListing.CheckboxLabeled("Use ToryTalker Storyteller Alongside Hodlbot?", ref ToolkitSettings.UseToryTalkerWithHodlBot);
        }
Esempio n. 23
0
        public override void DoSettingsWindowContents(Rect inRect)
        {
            Listing_Standard listingStandard = new Listing_Standard();

            listingStandard.Begin(inRect);

            listingStandard.Label("For Performance reasons: changing settings needs a reload from the game to take effect!");
            listingStandard.Gap(listingStandard.verticalSpacing);
            listingStandard.Label("Indicator width");
            Rect rect1 = listingStandard.GetRect(22f);

            weaponQualityIndicatorModSettings.xDrawSize = Widgets.HorizontalSlider(rect1, weaponQualityIndicatorModSettings.xDrawSize, 0f, 5f, false, (weaponQualityIndicatorModSettings.xDrawSize).ToString("") + "", "0", "5", 0.1f);

            listingStandard.Gap(listingStandard.verticalSpacing);
            listingStandard.Label("Indicator length");
            Rect rect2 = listingStandard.GetRect(22f);

            weaponQualityIndicatorModSettings.yDrawSize = Widgets.HorizontalSlider(rect2, weaponQualityIndicatorModSettings.yDrawSize, 0f, 5f, false, (weaponQualityIndicatorModSettings.yDrawSize).ToString("") + "", "0", "5", 0.1f);

            listingStandard.Gap(listingStandard.verticalSpacing);
            listingStandard.CheckboxLabeled("Show graphic indicator", ref weaponQualityIndicatorModSettings.renderGraphicIndicator);

            listingStandard.Gap(listingStandard.verticalSpacing);
            listingStandard.CheckboxLabeled("Change quality color in description card", ref weaponQualityIndicatorModSettings.changeInspectorCardColor);

            listingStandard.Gap(listingStandard.verticalSpacing);
            listingStandard.CheckboxLabeled("Change label color on ground", ref weaponQualityIndicatorModSettings.changeShortLabelColor);

            listingStandard.End();
        }
Esempio n. 24
0
        public static void DoWindowContents(Rect inRect)
        {
            Listing_Standard listing = new Listing_Standard();

            listing.Begin(inRect);

            Heading(listing, "defaultheading".TranslateSimple());
            listing.CheckboxLabeled("enablebeauty".TranslateSimple(), ref BeautyEnabled);
            listing.CheckboxLabeled("flickable".TranslateSimple(), ref Flickable);
            listing.CheckboxLabeled("shootthrough".TranslateSimple(), ref CanShootThrough);
            listing.CheckboxLabeled("temptransmit".TranslateSimple(), ref CanTransmitTemperature);

            Heading(listing, "focaltype".TranslateSimple());
            if (Widgets.RadioButtonLabeled(listing.GetRect(30f), "custom".TranslateSimple(), focalType == WindowFocalType.Custom))
            {
                focalType = WindowFocalType.Custom;
                WindowCache.WindowComponent.UpdateAllWindowCells();
            }
            if (Widgets.RadioButtonLabeled(listing.GetRect(30f), "circular".TranslateSimple(), focalType == WindowFocalType.Circular))
            {
                focalType = WindowFocalType.Circular;
                WindowCache.WindowComponent.UpdateAllWindowCells();
            }
            if (Widgets.RadioButtonLabeled(listing.GetRect(30f), "rectangular".TranslateSimple(), focalType == WindowFocalType.Rectangular))
            {
                focalType = WindowFocalType.Rectangular;
                WindowCache.WindowComponent.UpdateAllWindowCells();
            }

            listing.End();
        }
Esempio n. 25
0
        public static void DoWindowContents(Rect rect, Listing_Standard optionsListing)
        {
            optionsListing.CheckboxLabeled(Helper.ReplacePlaceholder("TwitchToolkitWhisperAllowed".Translate(), first: ToolkitSettings.Username), ref ToolkitSettings.WhisperCmdsAllowed);
            optionsListing.CheckboxLabeled(Helper.ReplacePlaceholder("TwitchToolkitWhisperOnly".Translate(), first: ToolkitSettings.Username), ref ToolkitSettings.WhisperCmdsOnly);
            optionsListing.CheckboxLabeled("TwitchToolkitPurchaseConfirmations".Translate(), ref ToolkitSettings.PurchaseConfirmations);
            optionsListing.CheckboxLabeled("TwitchToolkitRepeatViewerNames".Translate(), ref ToolkitSettings.RepeatViewerNames);
            optionsListing.CheckboxLabeled("TwitchToolkitMinifiableBuildings".Translate(), ref ToolkitSettings.MinifiableBuildings);

            optionsListing.GapLine();
            optionsListing.Gap();

            optionsListing.SliderLabeled("TwitchToolkitVoteTime".Translate(), ref ToolkitSettings.VoteTime, Math.Round((double)ToolkitSettings.VoteTime).ToString(), 1f, 15f);
            optionsListing.SliderLabeled("TwitchToolkitVoteOptions".Translate(), ref ToolkitSettings.VoteOptions, Math.Round((double)ToolkitSettings.VoteOptions).ToString(), 2f, 5f);
            optionsListing.CheckboxLabeled("TwitchToolkitTimedStorytelling".Translate(), ref ToolkitSettings.TimedStorytelling);
            optionsListing.SliderLabeled("TwitchToolkitTimeBetweenStorytellingEvents".Translate(), ref ToolkitSettings.TimeBetweenStorytellingEvents, Math.Round((double)ToolkitSettings.TimeBetweenStorytellingEvents).ToString(), 1f, 30f);
            optionsListing.CheckboxLabeled("TwitchToolkitVotingChatMsgs".Translate(), ref ToolkitSettings.VotingChatMsgs);
            optionsListing.CheckboxLabeled("TwitchToolkitVotingWindow".Translate(), ref ToolkitSettings.VotingWindow);
            optionsListing.CheckboxLabeled("TwitchToolkitLargeVotingWindow".Translate(), ref ToolkitSettings.LargeVotingWindow);

            optionsListing.GapLine();
            optionsListing.Gap();

            optionsListing.CheckboxLabeled("TwitchToolkitChatReqsForCoins".Translate(), ref ToolkitSettings.ChatReqsForCoins);
            optionsListing.SliderLabeled("TwitchToolkitTimeBeforeHalfCoins".Translate(), ref ToolkitSettings.TimeBeforeHalfCoins, Math.Round((double)ToolkitSettings.TimeBeforeHalfCoins).ToString(), 15f, 120f);
            optionsListing.SliderLabeled("TwitchToolkitTimeBeforeNoCoins".Translate(), ref ToolkitSettings.TimeBeforeNoCoins, Math.Round((double)ToolkitSettings.TimeBeforeNoCoins).ToString(), 30f, 240f);
        }
Esempio n. 26
0
        public static void DoSettingsWindowContents(Rect rect)
        {
            Listing_Standard list = new Listing_Standard(GameFont.Small);

            list.ColumnWidth = rect.width;
            list.Begin(rect);

            list.CheckboxLabeled(ResourceBank.String.ShowNotificationPopup, ref showNotification,
                                 ResourceBank.String.ShowNotificationPopupTip);
            list.CheckboxLabeled(ResourceBank.String.ShouldPauseOnOpen, ref shouldPause,
                                 ResourceBank.String.ShouldPauseOnOpenTip);
            list.CheckboxLabeled(ResourceBank.String.DebugResearch, ref debugResearch,
                                 ResourceBank.String.DebugResearchTip);

            list.CheckboxLabeled(ResourceBank.String.ShouldResetOnOpen, ref shouldReset,
                                 ResourceBank.String.ShouldResetOnOpenTip);

            list.CheckboxLabeled(ResourceBank.String.ShowFilteredLinks, ref showFilteredLinks,
                                 ResourceBank.String.ShowFilteredLinksTip);

            list.Label(ResourceBank.String.FilterOpacityDesc(0.2f, (float)Math.Round(FilterNonMatchAlpha, 2)));
            FilterNonMatchAlpha = (float)Math.Round(list.Slider(FilterNonMatchAlpha, 0, 1), 2);

            list.End();
        }
Esempio n. 27
0
        // Token: 0x06000007 RID: 7 RVA: 0x00002344 File Offset: 0x00000544
        public void DoWindowContents(Rect canvas)
        {
            var listing_Standard = new Listing_Standard {
                ColumnWidth = canvas.width
            };

            listing_Standard.Begin(canvas);
            listing_Standard.Gap();
            listing_Standard.CheckboxLabeled("MSOpt.RealisticBandages".Translate(), ref RealisticBandages);
            listing_Standard.Gap();
            listing_Standard.CheckboxLabeled("MSOpt.AllowCollapseRocks".Translate(), ref AllowCollapseRocks);
            listing_Standard.Gap(24f);
            checked
            {
                listing_Standard.Label("MSOpt.ResPct".Translate() + "  " + (int)ResPct);
                ResPct = (int)listing_Standard.Slider((int)ResPct, 10f, 200f);
                listing_Standard.Gap();
                Text.Font = GameFont.Tiny;
                listing_Standard.Label("          " + "MSOpt.ResWarn".Translate());
                listing_Standard.Gap();
                listing_Standard.Label("          " + "MSOpt.ResTip".Translate());
                Text.Font = GameFont.Small;
                listing_Standard.Gap();
                listing_Standard.End();
            }
        }
Esempio n. 28
0
        public override void DoSettingsWindowContents(Rect inRect)
        {
            var listing = new Listing_Standard();

            listing.Begin(inRect);
            listing.ColumnWidth = 220f;

            DoUsernameField(listing);
            listing.TextFieldNumericLabeled("MpAutosaveSlots".Translate() + ":  ", ref settings.autosaveSlots, ref slotsBuffer, 1f, 99f);

            listing.CheckboxLabeled("MpShowPlayerCursors".Translate(), ref settings.showCursors);
            listing.CheckboxLabeled("MpAutoAcceptSteam".Translate(), ref settings.autoAcceptSteam, "MpAutoAcceptSteamDesc".Translate());
            listing.CheckboxLabeled("MpTransparentChat".Translate(), ref settings.transparentChat);
            listing.CheckboxLabeled("MpAggressiveTicking".Translate(), ref settings.aggressiveTicking, "MpAggressiveTickingDesc".Translate());
            listing.CheckboxLabeled("MpSyncModConfigs".Translate(), ref settings.syncModConfigs, "MpSyncModConfigsDesc".Translate());

            var appendNameToAutosaveLabel         = $"{"MpAppendNameToAutosave".Translate()}:  ";
            var appendNameToAutosaveLabelWidth    = Text.CalcSize(appendNameToAutosaveLabel).x;
            var appendNameToAutosaveCheckboxWidth = appendNameToAutosaveLabelWidth + 30f;

            listing.CheckboxLabeled(appendNameToAutosaveLabel, ref settings.appendNameToAutosave);

            listing.CheckboxLabeled("MpPauseAutosaveCounter".Translate(), ref settings.pauseAutosaveCounter, "MpPauseAutosaveCounterDesc".Translate());
            listing.CheckboxLabeled("MpShowModCompatibility".Translate(), ref settings.showModCompatibility, "MpShowModCompatibilityDesc".Translate());
            listing.CheckboxLabeled("MpAutosaveOnDesync".Translate(), ref settings.autosaveOnDesync, "MpAutosaveOnDesyncDesc".Translate());

            if (Prefs.DevMode)
            {
                listing.CheckboxLabeled("Show debug info", ref settings.showDevInfo);
                listing.TextFieldNumericLabeled("Desync Radius:  ", ref settings.desyncTracesRadius, ref desyncRadiusBuffer, 1f, 200f);
            }

            listing.End();
        }
Esempio n. 29
0
        public static void DoSettingsWindowContents(Rect rect)
        {
            Listing_Standard options = new Listing_Standard();

            options.Begin(rect);

            options.Gap(20f);

            options.Label("DND_UnlockOptionsGeneral".Translate());

            options.Gap(10f);

            options.CheckboxLabeled("DND_KeepUnlockedForUrgentTending".Translate(), ref KeepUnlockedForUrgentTending, "DND_KeepUnlockedForUrgentTending_Tooltip".Translate());

            options.Gap(10f);

            options.CheckboxLabeled("DND_KeepUnlockedForSurgery".Translate(), ref KeepUnlockedForSurgery, "DND_KeepUnlockedForSurgery_Tooltip".Translate());

            options.Gap(10f);

            options.CheckboxLabeled("DND_KeepUnlockedForAnyTending".Translate(), ref KeepUnlockedForAnyTending, "DND_KeepUnlockedForAnyTending_Tooltip".Translate());

            options.Gap(40f);

            options.Label("DND_LockOptionsGeneral".Translate());

            options.Gap(10f);

            options.CheckboxLabeled("DND_KeepLockedForSoloRelaxation".Translate(), ref KeepLockedForSoloRelaxation, "DND_KeepLockedForSoloRelaxation_Tooltip".Translate());

            options.End();
        }
Esempio n. 30
0
        public static void DoSettingsWindowContents(Rect rect)
        {
            Listing_Standard l = new Listing_Standard(GameFont.Small)
            {
                ColumnWidth = System.Math.Min(400, rect.width / 2)
            };

            l.Begin(rect);
            l.CheckboxLabeled("ChangeMirror.ShareHairStyles".Translate(), ref shareHairStyles);
            l.Gap(48);
            l.CheckboxLabeled("ChangeMirror.ShowBodyChange".Translate(), ref showBodyChange);
            if (showBodyChange)
            {
                l.Gap(4);
                l.CheckboxLabeled("ChangeMirror.ShowGenderAgeChange".Translate(), ref showGenderAgeChange);
                l.Gap(20);
            }
            else
            {
                l.Gap(48);
            }
            l.End();

            VerifySupportedEditors(showBodyChange);
        }
        protected override void FillTab()
        {
            var compPrisoner = this.SelPawn.TryGetComp<CompPrisoner>();
            if( compPrisoner == null )
            {
                throw new Exception( "ITab_Pawn_Prisoner on non-human!" );
            }

            bool isSlave = this.SelPawn.IsSlaveOfColony();
            bool isColonist = (
                ( !this.SelPawn.IsPrisonerOfColony )&&
                ( compPrisoner.wasArrested )
            );

            ConceptDatabase.KnowledgeDemonstrated( ConceptDefOf.PrisonerTab, KnowledgeAmount.GuiFrame );
            Text.Font = GameFont.Small;
            var iTabInnerRect = new Rect( 0.0f, 0.0f, this.size.x, 9999f ).ContractedBy( innerBorder );

            var iTabListing = new Listing_Standard( iTabInnerRect );
            {

                #region Debug
                // Window will automagically grow in height if needed
                if( Prefs.DevMode )
                {
                    var textFont = Text.Font;
                    Text.Font = GameFont.Tiny;
                    var devRect = iTabListing.GetRect( ( isColonist ? 4f : isSlave ? 5f : 6f ) * 16f );
                    devRect.height = 20f;
                    Widgets.Label( devRect, "Debug Info:" );
                    devRect.y += 16f;
                    if( !isColonist )
                    {
                        Widgets.Label( devRect, string.Format( "MTB Prison break (days): {0}", (int) PrisonBreakUtility.InitiatePrisonBreakMtbDays( this.SelPawn ) ) );
                        devRect.y += 16f;
                        Widgets.Label( devRect, string.Format( "Odds of escape attempt: {0}", (int) ( 100f * this.SelPawn.EscapeProbability() ) ) );
                        devRect.y += 16f;
                        Widgets.Label( devRect, string.Format( "Mood: {0}", (int) ( 100f * this.SelPawn.needs.mood.CurLevel ) ) );
                        devRect.y += 16f;
                        Widgets.Label( devRect, string.Format( "Sight (actual/thought): {0}/{1}", this.SelPawn.CanBeSeenByColony(), this.SelPawn.ThinksTheyCanBeSeenByColony() ) );
                        devRect.y += 16f;
                    }
                    else
                    {
                        Widgets.Label( devRect, string.Format( "wasArrested/Release: {0}", compPrisoner.wasArrested) );
                        devRect.y += 16f;
                        Widgets.Label( devRect, string.Format( "Release/Current: {0}/{1}", compPrisoner.releaseAfterTick, Find.TickManager.TicksGame ) );
                        devRect.y += 16f;
                    }

                    #region Prisoner Recruitment Difficulty
                    if( !isSlave )
                    {
                        Widgets.Label( devRect, Data.Strings.RecruitmentDifficulty.Translate() + ": " + this.SelPawn.RecruitDifficulty( Faction.OfPlayer, false ).ToString( "##0" ) );
                        devRect.y += 16f;
                    }
                    #endregion

                    Text.Font = textFont;
                    Widgets.DrawLineHorizontal( 0f, iTabListing.CurHeight, iTabListing.ColumnWidth );
                    iTabListing.Gap( innerBorder );
                }
                #endregion

                #region Original Slave Faction and Role
                if( isSlave )
                {
                    var textFont = Text.Font;
                    Text.Font = GameFont.Tiny;
                    iTabListing.Label( Data.Strings.FactionLabel.Translate( compPrisoner.originalFaction.Name ) );
                    iTabListing.Label( Data.Strings.PawnKindLabel.Translate( compPrisoner.originalPawnKind.LabelCap ) );
                    Text.Font = textFont;
                }
                #endregion

                #region Prisoner/Slave Interaction Options
                if( !isColonist )
                {
                    var interactionsRect = iTabListing.GetRect( innerBorder * 2f + 28f * ( isSlave ? 4 : 6 ) );
                    Widgets.DrawMenuSection( interactionsRect, true );
                    var interactionsInnerRect = interactionsRect.ContractedBy( innerBorder );
                    GUI.BeginGroup( interactionsInnerRect );
                    {
                        var optionRect = new Rect( 0.0f, 0.0f, interactionsInnerRect.width, 30f );

                        #region Core Options
                        foreach( PrisonerInteractionMode mode in Enum.GetValues( typeof( PrisonerInteractionMode ) ) )
                        {
                            // Can't recruit slaves and they have their own release mechanism
                            bool showThis = (
                                ( !isSlave ) ||
                                (
                                    ( mode != PrisonerInteractionMode.AttemptRecruit ) &&
                                    ( mode != PrisonerInteractionMode.Release )
                                )
                            );
                            if( showThis )
                            {
                                if( Widgets.RadioButtonLabeled( optionRect, mode.GetLabel(), this.SelPawn.guest.interactionMode == mode ) )
                                {
                                    this.SelPawn.guest.interactionMode = mode;
                                }
                                optionRect.y += 28f;
                            }
                        }
                        #endregion

                        #region Prisoner Specific Options
                        if( !isSlave )
                        {
                            // Enslave prisoner
                            if( Widgets.RadioButtonLabeled( optionRect, Data.Strings.Enslave.Translate(), this.SelPawn.guest.interactionMode == Data.PIM.EnslavePrisoner ) )
                            {
                                this.SelPawn.guest.interactionMode = Data.PIM.EnslavePrisoner;
                            }
                            optionRect.y += 28f;
                        }
                        #endregion

                        #region Slave Specific Options
                        if( isSlave )
                        {
                            // Free slave
                            if( Widgets.RadioButtonLabeled( optionRect, Data.Strings.FreeSlave.Translate(), this.SelPawn.guest.interactionMode == Data.PIM.FreeSlave ) )
                            {
                                this.SelPawn.guest.interactionMode = Data.PIM.FreeSlave;
                            }
                            optionRect.y += 28f;
                        }
                        #endregion

                    }
                    GUI.EndGroup();
                    iTabListing.Gap( innerBorder );
                }
                #endregion

                #region Transer Pawn
                if( !isColonist )
                {

                    #region [Cancel] Transfer Button
                    var transferOrCancelRect = iTabListing.GetRect( 30f );

                    #region Transfer to a valid Marker or Prison Cell

                    if( !compPrisoner.ShouldBeTransfered )
                    {
                        if( Widgets.ButtonText( transferOrCancelRect, Data.Strings.TransferPrisoner.Translate() ) )
                        {
                            var floatMenuOptions = this.TransferTargetFloatMenuOptions();
                            if(
                                ( floatMenuOptions.Count == 0 ) ||
                                (
                                    ( floatMenuOptions.Count == 1 ) &&
                                    ( floatMenuOptions[ 0 ].Label == Data.Strings.PrisonCell.Translate() ) &&
                                    ( this.SelPawn.GetRoom() == this.SelPawn.ownership.OwnedBed.GetRoom() )
                                )
                            )
                            {
                                floatMenuOptions.Add( new FloatMenuOption( Data.Strings.InstallMarker.Translate(), (Action) null ) );
                            }
                            Find.WindowStack.Add( (Window) new FloatMenu( floatMenuOptions ) );
                        }
                        else
                        {
                            this.cachedMarkers = null;
                        }
                    }
                    #endregion

                    #region Cancel Transfer

                    if( compPrisoner.ShouldBeTransfered )
                    {
                        if( Widgets.ButtonText( transferOrCancelRect, Data.Strings.CancelTransfer.Translate() ) )
                        {
                            compPrisoner.haulTarget = null;
                        }
                    }

                    #endregion

                    iTabListing.Gap( innerBorder );
                    #endregion

                    #region Transfer Target

                    var transferTargetRect = iTabListing.GetRect( 30f );
                    var style = new GUIStyle( Text.CurTextFieldStyle );
                    style.alignment = TextAnchor.MiddleCenter;

                    string label = string.Empty;
                    if( compPrisoner.haulTarget != null )
                    {
                        if( compPrisoner.haulTarget is Building_RoomMarker )
                        {
                            label = ( (Building_RoomMarker) compPrisoner.haulTarget ).markerName;
                        }
                        else if( compPrisoner.haulTarget is Building_Bed )
                        {
                            label = Data.Strings.PrisonCell.Translate();
                        }
                    }
                    GUI.Label( transferTargetRect, label, style );
                    iTabListing.Gap( innerBorder );
                    #endregion

                    #region Restraints
                    var restraintsRect = iTabListing.GetRect( innerBorder * 2f + 28f * 2f );
                    Widgets.DrawMenuSection( restraintsRect, true );
                    var restraintsInnerRect = restraintsRect.ContractedBy( innerBorder );
                    GUI.BeginGroup( restraintsInnerRect );
                    {
                        var restrainRect = new Rect( 0.0f, 0.0f, restraintsInnerRect.width, 30f );

                        Widgets.CheckboxLabeled( restrainRect, Data.Strings.RestrainCuff.Translate(), ref compPrisoner.ShouldBeCuffed );
                        restrainRect.y += 28f;

                        Widgets.CheckboxLabeled( restrainRect, Data.Strings.RestrainShackle.Translate(), ref compPrisoner.ShouldBeShackled );
                        restrainRect.y += 28f;
                    }
                    GUI.EndGroup();
                    #endregion

                }
                #endregion

                #region Food
                if( !isColonist )
                {
                    var getsFood = this.SelPawn.guest.GetsFood;
                    iTabListing.CheckboxLabeled( Data.Strings.GetsFood.Translate(), ref getsFood, (string) null );
                    this.SelPawn.guest.GetsFood = getsFood;
                }
                #endregion

                #region Medicine
                if( !isColonist )
                {
                    var medicalCareRect = iTabListing.GetRect( 28f );
                    medicalCareRect.width = MedicalCareUtility.CareSetterWidth;
                    MedicalCareUtility.MedicalCareSetter( medicalCareRect, ref this.SelPawn.playerSettings.medCare );
                }
                #endregion

            }
            iTabListing.End();
            tabHeight = iTabListing.CurHeight;
        }
Esempio n. 32
0
        /// <summary>
        /// Draws the mod configuration window contents.
        /// </summary>
        /// <returns>The final height of the window rect.</returns>
        /// <param name="rect">Rect</param>
        public override float DoWindowContents( Rect rect )
        {
            var listing = new Listing_Standard( rect );
            {
                listing.ColumnWidth = rect.width - 4f;

                #region Main Toggle
                var toggleLabel = "MiniMap.MCMToggleMain".Translate();
                listing.CheckboxLabeled( toggleLabel, ref MiniMap.MiniMapController.visible );
                listing.Gap();
                #endregion

                #region Handle all MiniMaps and Overlays

                foreach( var minimap in Controller.Data.MiniMaps )
                {
                    if( minimap.IsOrHasIConfigurable )
                    {
                        var iMinimap = minimap as IConfigurable;

                        #region Minimap Header
                        MinimapHeader( listing, minimap );
                        #endregion

                        #region Handle MiniMap IConfigurable
                        if( iMinimap != null )
                        {
                            #region Minimap IConfigurable
                            var iMinimapRect = new Rect( listing.Indentation(), listing.CurHeight, listing.ColumnWidth, 9999f );
                            GUI.BeginGroup( iMinimapRect );
                            var iMinimapHeight = iMinimap.DrawMCMRegion( iMinimapRect.AtZero() );
                            GUI.EndGroup();
                            listing.Gap( iMinimapHeight + 6f );
                            #endregion
                        }
                        #endregion

                        #region Handle all MiniMap Overlays
                        foreach( var overlay in minimap.overlayWorkers )
                        {
                            var iOverlay = overlay as IConfigurable;

                            #region Handle Overlay IConfigurable
                            if( iOverlay != null )
                            {

                                #region Overlay Header
                                OverlayHeader( listing, overlay );
                                #endregion

                                #region Overlay IConfigurable
                                var iOverlayRect = new Rect( listing.Indentation(), listing.CurHeight, listing.ColumnWidth, 9999f );
                                GUI.BeginGroup( iOverlayRect );
                                var iOverlayHeight = iOverlay.DrawMCMRegion( iOverlayRect.AtZero() );
                                GUI.EndGroup();
                                listing.Gap( iOverlayHeight + 6f );
                                listing.Undent();
                                #endregion

                            }
                            #endregion
                        }
                        #endregion

                        #region Final Undentation
                        listing.Gap();
                        listing.Undent();
                        #endregion
                    }
                }

                #endregion

            }
            listing.End();
            return listing.CurHeight;
        }