Ejemplo n.º 1
0
        public static void DoSettingsWindowContents(Rect rect)
        {
            Listing_Standard list = new Listing_Standard(GameFont.Small);

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

            list.CheckboxLabeled(ShouldSeparateByTechLevels, ref shouldSeparateByTechLevels,
                                 ShouldSeparateByTechLevelsTip);
            list.Gap();

            list.CheckboxLabeled(ShouldPauseOnOpen, ref shouldPause,
                                 ShouldPauseOnOpenTip);
            list.CheckboxLabeled(ShouldResetOnOpen, ref shouldReset,
                                 ShouldResetOnOpenTip);
            list.End();
        }
Ejemplo n.º 2
0
        private static void DrawPawnWorkTab(Rect canvas)
        {
            GUI.BeginGroup(canvas);

            var listing = new Listing_Standard();
            var content = new Rect(0f, 0f, canvas.width, canvas.height);
            var view    = new Rect(0f, 0f, canvas.width - 16f, _workTypeDefs.Length * Text.LineHeight);

            Widgets.BeginScrollView(content, ref _workScrollPos, view);
            listing.Begin(view);

            for (var index = 0; index < _workTypeDefs.Length; index++)
            {
                WorkTypeDef workType    = _workTypeDefs[index];
                WorkSetting workSetting = WorkSettings.FirstOrDefault(w => w.WorkTypeDef.EqualsIgnoreCase(workType.defName));

                if (workSetting == null)
                {
                    workSetting = new WorkSetting {
                        Enabled = true, WorkTypeDef = workType.defName
                    };

                    WorkSettings.Add(workSetting);
                }

                Rect line = listing.GetRect(Text.LineHeight);

                if (!line.IsVisible(content, _workScrollPos))
                {
                    continue;
                }

                if (index % 2 == 0)
                {
                    Widgets.DrawLightHighlight(line);
                }

                Widgets.CheckboxLabeled(line, workSetting.WorkTypeDef, ref workSetting.Enabled);

                Widgets.DrawHighlightIfMouseover(line);
            }

            GUI.EndGroup();
            Widgets.EndScrollView();
            listing.End();
        }
Ejemplo n.º 3
0
        public void DoSettingsWindowContents(Rect inRect)
        {
            var  scrollHeight = GetScrollHeight();
            Rect rect         = new Rect(inRect.x, inRect.y, inRect.width, inRect.height);
            Rect rect2        = new Rect(0f, 0f, rect.width - 60f, scrollHeight);

            Widgets.BeginScrollView(rect, ref scrollPosition, rect2, true);
            Listing_Standard listingStandard = new Listing_Standard();

            listingStandard.Begin(rect2);
            listingStandard.CheckboxLabeled("PH.EnableProxyHeatEffectIndoors".Translate(), ref enableProxyHeatEffectIndoors);
            listingStandard.CheckboxLabeled("PH.AllowPlantGrowthInsideProxyHeatEffectRadius".Translate(), ref allowPlantGrowthInsideProxyHeatEffectRadius);
            listingStandard.End();
            Widgets.EndScrollView();
            SettingsApplier.ApplySettings();
            base.Write();
        }
        public void DoWindowContents(Rect canvas)
        {
            Listing_Standard list = new Listing_Standard();

            list.ColumnWidth = canvas.width;
            list.Begin(canvas);
            list.Gap();
            list.Label("BSER.Description".Translate());
            list.Gap();

            list.Label("BSER.SteelAmountFromSlag".Translate() + "  " + steelAmountFromSlag);
            steelAmountFromSlag = (int)list.Slider(steelAmountFromSlag, 1, 200);
            Text.Font           = GameFont.Tiny;
            list.Label("          " + "BSER.SteelAmountTipFromSlag".Translate());
            Text.Font = GameFont.Small;
            list.Gap();

            list.Label("BSER.WorkAmountFromSlag".Translate() + "  " + Math.Round((decimal)workAmountFromSlag / 60, MidpointRounding.AwayFromZero));
            workAmountFromSlag = (int)list.Slider(workAmountFromSlag, 60, 2000);
            Text.Font          = GameFont.Tiny;
            list.Label("          " + "BSER.WorkAmountTipFromSlag".Translate());
            Text.Font = GameFont.Small;
            list.Gap();

            list.CheckboxLabeled("BSER.ComponentFromSlag".Translate(), ref componentFromSlag);
            list.Gap();

            list.Label("BSER.SteelAmountFromDebris".Translate() + "  " + steelAmountFromDebris);
            steelAmountFromDebris = (int)list.Slider(steelAmountFromDebris, 1, 200);
            Text.Font             = GameFont.Tiny;
            list.Label("          " + "BSER.SteelAmountTipFromDebris".Translate());
            Text.Font = GameFont.Small;
            list.Gap();

            list.Label("BSER.WorkAmountFromDebris".Translate() + "  " + Math.Round((decimal)workAmountFromDebris / 60, MidpointRounding.AwayFromZero));
            workAmountFromDebris = (int)list.Slider(workAmountFromDebris, 60, 2000);
            Text.Font            = GameFont.Tiny;
            list.Label("          " + "BSER.WorkAmountTipFromDebris".Translate());
            Text.Font = GameFont.Small;
            list.Gap();

            list.CheckboxLabeled("BSER.ComponentFromDebris".Translate(), ref componentFromDebris);
            list.Gap();

            list.End();
        }
Ejemplo n.º 5
0
        // Token: 0x06000044 RID: 68 RVA: 0x00003EE8 File Offset: 0x000020E8
        public void DoWindowContents(Rect canvas)
        {
            var gap = 8f;
            var listing_Standard = new Listing_Standard {
                ColumnWidth = canvas.width
            };

            listing_Standard.Begin(canvas);
            listing_Standard.Gap(gap);
            listing_Standard.CheckboxLabeled("ComAil.DoAilments".Translate(), ref DoAilments);
            listing_Standard.Gap(gap);
            listing_Standard.CheckboxLabeled("ComAil.DoSymptoms".Translate(), ref DoSymptoms);
            listing_Standard.Gap(gap);
            listing_Standard.CheckboxLabeled("ComAil.DoMsgs".Translate(), ref DoMsgs);
            listing_Standard.Gap(gap);
            listing_Standard.CheckboxLabeled("ComAil.NegHealthSound".Translate(), ref NegHealthSound);
            listing_Standard.Gap(gap);
            listing_Standard.Label("ComAil.CAStartDays".Translate() + "  " + CAStartDays);
            checked
            {
                CAStartDays = (int)listing_Standard.Slider(CAStartDays, 0f, 150f);
                listing_Standard.Gap(gap);
                listing_Standard.Label("ComAil.CAFrequency".Translate() + "  " + CAFrequency);
                CAFrequency = (int)listing_Standard.Slider(CAFrequency, 6f, 72f);
                listing_Standard.Gap(gap);
                listing_Standard.Label("ComAil.CAChance".Translate() + "  " + CAChance);
                CAChance = (int)listing_Standard.Slider(CAChance, 1f, 25f);
                listing_Standard.Gap(gap);
                listing_Standard.CheckboxLabeled("ComAil.DoSTI".Translate(), ref DoSTI);
                listing_Standard.Gap(gap);
                listing_Standard.Label("ComAil.CASTIChance".Translate() + "  " + CASTIChance);
                CASTIChance = (int)listing_Standard.Slider(CASTIChance, 1f, 25f);
                listing_Standard.Gap(gap);
                listing_Standard.Label("ComAil.CASTIOffset".Translate() + "  " + CASTIOffset);
                CASTIOffset = (int)listing_Standard.Slider(CASTIOffset, -150f, 0f);
                listing_Standard.Gap(gap);
                listing_Standard.CheckboxLabeled("ComAil.CanAddScenario".Translate(), ref CACanAddScenario);
            }

            listing_Standard.Gap(gap - 2f);
            Text.Font = GameFont.Tiny;
            listing_Standard.Label("          " + "ComAil.ChangeValueTip".Translate());
            Text.Font = GameFont.Small;
            listing_Standard.Gap(gap);
            listing_Standard.End();
        }
Ejemplo n.º 6
0
        public static void DoSettingsWindowContents(Rect inRect)
        {
            Listing_Standard listing_Standard = new Listing_Standard();

            listing_Standard.Begin(inRect);

            listing_Standard.CheckboxLabeled("SettlementModLabel".Translate(), ref settlement_mod, "SettlementModTooltip".Translate());
            listing_Standard.CheckboxLabeled("WinterModLabel".Translate(), ref snow_mod, "WinterModTooltip".Translate());

            listing_Standard.Label("BiomeModLabel".Translate(((float)Math.Round(biome_time_modifier, 2)).ToStringPercent()));
            biome_time_modifier = listing_Standard.Slider((float)Math.Round(biome_time_modifier, 2), 0f, 2f);

            listing_Standard.Label("HillnessModLabel".Translate(((float)Math.Round(hillness_time_modifier, 2)).ToStringPercent()));
            hillness_time_modifier = listing_Standard.Slider((float)Math.Round(hillness_time_modifier, 2), 0f, 2f);

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

            options.Begin(wrect);

            options.CheckboxLabeled("TD.SettingsNoOverwallCoolers".Translate(), ref hideOverwallCoolers);
            options.CheckboxLabeled("TD.SettingsNoNormalCoolers".Translate(), ref hideNormalCoolers);

            if (BridgelikeTerrain.allBridgeTerrains.Count > 1)
            {
                DoBridgeList(options);
            }


            options.End();
        }
Ejemplo n.º 8
0
        public override void DoWindowContents(Rect inRect)
        {
            var manager = map.GetCleaningManager();

            manager.MarkAllForDraw();
            if (addQueue.Any())
            {
                manager.AddAreaRange(addQueue);
                addQueue.Clear();
            }

            if (removeQueue.Any())
            {
                manager.RemoveAreaRange(removeQueue);
                removeQueue.Clear();
            }

            var reorderableGroup = ReorderableWidget.NewGroup(manager.ReorderPriorities, ReorderableDirection.Vertical,
                                                              marginBetweenElements);
            IEnumerable <Area> addables = manager.AddableAreas;
            var playerCanAdd            = addables.Any();
            var listRect = new Rect(0f, 0f, inRect.width - 20f,
                                    manager.AreaCount * (elementHeight + marginBetweenElements));
            var listHolder = new Rect(inRect.x, inRect.y, inRect.width,
                                      playerCanAdd ? inRect.height - marginBetweenElements - buttonHeight : inRect.height);

            Widgets.BeginScrollView(listHolder, ref scrollPos, listRect);
            var uiLister = new Listing_Standard();

            uiLister.Begin(listRect);
            uiLister.ColumnWidth = listRect.width;
            uiLister.Gap(marginBetweenElements);
            for (var i = 0; i < manager.AreaCount; i++)
            {
                var areaIsPriority = manager.PrioritizedArea == manager[i];
                DoAreaRow(manager[i], uiLister, reorderableGroup, manager.AreaCount, i, areaIsPriority);
                uiLister.Gap(marginBetweenElements);
            }

            uiLister.End();
            Widgets.EndScrollView();
            if (playerCanAdd)
            {
                DoAddRow(listHolder, addables);
            }
        }
Ejemplo n.º 9
0
        // Mod UI
        public override void DoSettingsWindowContents(UnityEngine.Rect inRect)
        {
            const float GAP_HEIGHT = 12f;

            Listing_Standard listingStandard = new Listing_Standard();

            listingStandard.Begin(inRect);

            var prevMin        = _settings.minDaysBetweenEvents;
            var strMinDaysBtwn = _settings.minDaysBetweenEvents.ToString();

            listingStandard.TextFieldNumericLabeled("Reunion.MinDaysBetweenEvents".Translate(), ref _settings.minDaysBetweenEvents, ref strMinDaysBtwn, INPUT_MIN_DAYS_BTWN_EVENTS, INPUT_MAX_DAYS_BTWN_EVENTS);
            _settings.minDaysBetweenEvents = UnityEngine.Mathf.RoundToInt(listingStandard.Slider(_settings.minDaysBetweenEvents, INPUT_MIN_DAYS_BTWN_EVENTS, INPUT_MAX_DAYS_BTWN_EVENTS));

            listingStandard.Gap(GAP_HEIGHT);

            var prevMax        = _settings.maxDaysBetweenEvents;
            var strMaxDaysBtwn = _settings.maxDaysBetweenEvents.ToString();

            listingStandard.TextFieldNumericLabeled("Reunion.MaxDaysBetweenEvents".Translate(), ref _settings.maxDaysBetweenEvents, ref strMaxDaysBtwn, INPUT_MIN_DAYS_BTWN_EVENTS + 1, INPUT_MAX_DAYS_BTWN_EVENTS);
            _settings.maxDaysBetweenEvents = UnityEngine.Mathf.RoundToInt(listingStandard.Slider(_settings.maxDaysBetweenEvents, INPUT_MIN_DAYS_BTWN_EVENTS + 1, INPUT_MAX_DAYS_BTWN_EVENTS));

            if (_settings.minDaysBetweenEvents >= _settings.maxDaysBetweenEvents)
            {
                _settings.minDaysBetweenEvents = _settings.maxDaysBetweenEvents - 1;
            }

            if (Current.Game != null && Current.Game.Info.RealPlayTimeInteracting > 0 &&
                (prevMin != _settings.minDaysBetweenEvents || prevMax != _settings.maxDaysBetweenEvents))
            {
                GameComponent.TryScheduleNextEvent();
            }

            listingStandard.Gap(GAP_HEIGHT);

            foreach (Settings.Event evtType in Enum.GetValues(typeof(Settings.Event)))
            {
                var allow = _settings.EventAllow[evtType];
                listingStandard.CheckboxLabeled(Settings.CreateTranslationKey(evtType).Translate(), ref allow);
                _settings.EventAllow[evtType] = allow;
            }

            listingStandard.End();

            base.DoSettingsWindowContents(inRect);
        }
Ejemplo n.º 10
0
        public override void DoSettingsWindowContents(Rect inRect)
        {
            Listing_Standard ls = new Listing_Standard();

            ls.Begin(inRect);
            ls.Gap(12f);
            ls.CheckboxLabeled("GR_useLeglessGraphics".Translate(), ref settings.useLeglessGraphics, null);
            ls.Gap(12f);
            ls.Gap(12f);
            var label = "GR_IncubatorFailureRate".Translate();

            GeneticRim_Settings.failureRate = Widgets.HorizontalSlider(inRect.TopHalf().TopHalf().TopHalf(), GeneticRim_Settings.failureRate, 0f, 100f, false, label, "0%", "100%", -1);
            ls.Gap(12f);

            settings.Write();
            ls.End();
        }
Ejemplo n.º 11
0
        public void DoSettingsWindowContents(Rect rect)
        {
            var list = new Listing_Standard(GameFont.Small)
            {
                ColumnWidth = rect.width / 2
            };

            list.Begin(rect);
            list.Gap();

            list.CheckboxLabeled("DashesIfLessRequiredAmount".Translate(), ref UseDashes,
                                 "DashesIfLessRequiredAmount".Translate());
            list.CheckboxLabeled("CountForbiddenItems".Translate(), ref CountForbiddenItems,
                                 "CountForbiddenItems".Translate());

            list.End();
        }
Ejemplo n.º 12
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.End();
        }
Ejemplo n.º 13
0
Archivo: RKTM.cs Proyecto: zzzz465/RKTM
        public override void DoSettingsWindowContents(Rect inRect)
        {
            base.DoSettingsWindowContents(inRect);

            Listing_Standard listing_Standard = new Listing_Standard();

            listing_Standard.Begin(inRect);

            string description = "SecondLanguagePackDescription".Translate();

            listing_Standard.Label("SecondLanguagePack".Translate(), -1, description);
            string result = listing_Standard.TextEntry(SecondLanguagePackName, 1);

            SecondLanguagePackName = result;

            listing_Standard.End();
        }
        public override void DoSettingsWindowContents(Rect rect)
        {
            Rect rectLH = rect.LeftHalf().Rounded();
            Rect rectRH = rect.RightHalf().Rounded();

            //Rect rectLH =  new Rect(rect.x, rect.y, rect.width / 2 - 5, rect.height);
            //Rect rectRH = new Rect(rect.x + rect.width / 2 + 5, rect.y, rect.width / 2 - 5, rect.height);

            //Rect rectLH = new Rect(rect.x, rect.y, rect.width / 2, rect.height).Rounded();
            //Rect rectRH = new Rect(rect.x + rect.width / 2, rect.y, rect.width / 2, rect.height).Rounded();

            Listing_Standard optionsLH = new Listing_Standard();
            Listing_Standard optionsRH = new Listing_Standard();

            optionsLH.Begin(rectLH);

            //options.CheckboxLabeled(Text_Option1, ref MapGenerator_ModSettings.chanceForHoles, ToolTip_Option1);

            optionsLH.CheckboxLabeled(Text_Option_SpawnWithHoles, ref MapGenerator_ModSettings.createAllNonPawnBPsWithHoles, ToolTip_Option_SpawnWithHoles);
            optionsLH.Gap();
            optionsLH.Label(Text_Option_HoleChance + "  " + (MapGenerator_ModSettings.chanceForHoles).ToStringPercent());
            optionsLH.Label(Text_Option_HoleChanceOnWater + "  " + (MapGenerator_ModSettings.chanceForHolesOnWater).ToStringPercent());
            optionsLH.GapLine();
            optionsLH.Gap();
            optionsLH.Label(Text_Option_ForUrbanCityOnly, -1, Tooltip_Option_ForUrbanCityOnly);
            optionsLH.Label(Text_Option_UrbanCityChanceMultiplier + "  " + (MapGenerator_ModSettings.chance4UrbanCitiesMultiplier).ToString(), -1, Tooltip_Option_UrbanCityChanceMultiplier);


            optionsLH.End();
            //mcp.GetDefPackagesInFolder("ThingDefs").First().RemoveDef();

            optionsRH.Begin(rectRH);
            optionsRH.Gap();
            optionsRH.Gap();
            optionsRH.Gap();
            MapGenerator_ModSettings.chanceForHoles        = optionsRH.Slider(MapGenerator_ModSettings.chanceForHoles, 0.05f, 0.90f);
            MapGenerator_ModSettings.chanceForHolesOnWater = optionsRH.Slider(MapGenerator_ModSettings.chanceForHolesOnWater, 0.05f, 0.95f);
            optionsRH.GapLine();
            optionsRH.Gap();
            optionsRH.Gap();
            optionsRH.Gap();
            optionsRH.Gap(6);
            MapGenerator_ModSettings.chance4UrbanCitiesMultiplier = optionsRH.Slider(MapGenerator_ModSettings.chance4UrbanCitiesMultiplier, 0.0f, 20.0f);

            optionsRH.End();
        }
Ejemplo n.º 15
0
        public override void DoWindowContents(Rect inRect)
        {
            var listing = new Listing_Standard();

            listing.Begin(inRect);

            Text.Font = GameFont.Medium;
            listing.Label("TD.SavedFindFilters".Translate());
            Text.Font = GameFont.Small;
            listing.GapLine();
            listing.End();

            inRect.yMin += listing.CurHeight;


            LoadedModManager.GetMod <Mod>().DoSettingsWindowContents(inRect);
        }
Ejemplo n.º 16
0
        public void DoSettingsWindow(Rect inRect)
        {
            //wide panels look terrible
            Rect             lR   = new Rect(inRect.x + 0.25f * inRect.width, inRect.y, inRect.width * 0.5f, inRect.height);
            Listing_Standard list = new Listing_Standard();

            list.ColumnWidth = lR.width;
            list.Begin(lR);
            list.Gap();
            list.Label("TDiner.TableSearchDist".Translate());
            list.Label(tableDistanceUnapplied.ToString());
            tableDistanceUnapplied = (int)list.Slider(tableDistanceUnapplied, 0, 400);
            if (list.ButtonTextLabeled("TDiner.VDefault".Translate(), "TDiner.Set".Translate()))
            {
                tableDistanceUnapplied       = TableDiner.modInstance.chairSearchDefault;
                overwriteNonDefaultUnapplied = false;
            }
            if (list.ButtonTextLabeled("TDiner.TDDefault".Translate(), "TDiner.Set".Translate()))
            {
                tableDistanceUnapplied       = 60f;
                overwriteNonDefaultUnapplied = false;
            }
            list.Gap();
            list.CheckboxLabeled("TDiner.overwriteNonDefault".Translate(), ref overwriteNonDefaultUnapplied);
            list.Gap(30f);
            //only show button if changes are made
            if (tableDistanceUnapplied != tableDistance || overwriteNonDefaultUnapplied != overwriteNonDefault)
            {
                if (list.ButtonText("TDiner.ApplyChanges".Translate()))
                {
                    //only applying when player presses the 'apply' button, because we hav to search through a bunch of defs when we do apply.
                    tableDistance       = tableDistanceUnapplied;
                    overwriteNonDefault = overwriteNonDefaultUnapplied;
                    TableDiner.modInstance.Apply();
                }
            }
            else
            {
                //empty space so alignment remains without the apply button
                list.Gap(30f);
            }
            list.CheckboxLabeled("TDiner.displayRing".Translate(), ref displayRing);
            list.CheckboxLabeled("TDiner.ExtraFeatures".Translate(), ref useExtraFeatures);
            list.Label("TDiner.RadiusNote".Translate());
            list.End();
        }
        public void DoWindowContents(Rect wrect)
        {
            Listing_Standard options      = new Listing_Standard();
            Color            defaultColor = GUI.color;

            options.Begin(wrect);

            GUI.color   = defaultColor;
            Text.Font   = GameFont.Small;
            Text.Anchor = TextAnchor.UpperLeft;
            options.Gap();

            // General settings
            options.CheckboxLabeled("Settings_AccuracyPenalties".Translate(), ref accuracyPenalties, "Settings_AccuracyPenalties_Tooltip".Translate());
            options.Gap();
            options.AddLabeledSlider("Settings_TargModeResetFrequency".Translate(), ref targModeResetFrequencyInt, 0, 5,
                                     rightAlignedLabel: $"Settings_TargModeResetFrequency_{targModeResetFrequencyInt}".Translate(), roundTo: 1);
            options.GapLine(24);

            // Settings for AI
            options.CheckboxLabeled("Settings_RaidersUseTargetingModes".Translate(), ref raidersUseTargModes, "Settings_RaidersUseTargetingModes_Tooltip".Translate());
            options.Gap();

            // Grey out this section if raiders can't use targeting modes
            if (!raidersUseTargModes)
            {
                GUI.color = Color.grey;
            }

            options.AddLabeledSlider("Settings_MinRaiderWeaponSkill".Translate(), ref raiderMinSkillForTargMode, 0, 20,
                                     rightAlignedLabel: raiderMinSkillForTargMode.ToString(), roundTo: 1);
            options.Gap();
            options.AddLabeledSlider("Settings_MechTargModeChance".Translate(), ref mechanoidTargModeChance, 0, 1,
                                     rightAlignedLabel: mechanoidTargModeChance.ToStringPercent(), roundTo: 0.01f);
            options.Gap();
            options.AddLabeledSlider("Settings_BaseManhunterTargModeChance".Translate(), ref baseManhunterTargModeChance, 0, 1,
                                     rightAlignedLabel: baseManhunterTargModeChance.ToStringPercent(), roundTo: 0.01f);

            // End of section
            GUI.color = defaultColor;

            // End of settings
            options.End();
            Mod.GetSettings <TargetingModesSettings>().Write();
        }
Ejemplo n.º 18
0
        public override void DoSettingsWindowContents(Rect inRect)
        {
            Listing_Standard listing = new Listing_Standard();

            listing.Begin(inRect);

            listing.Label("Blood puddles");
            listing.GapLine();

            listing.Label("Size multiplier: " + settings.PuddleSizeMultiplier);
            settings.PuddleSizeMultiplier = (int)listing.Slider(settings.PuddleSizeMultiplier, 1f, 10f);

            listing.Gap();

            listing.Label("Footprints");
            listing.GapLine();

            listing.Label("Filth per stepped in it multiplier - More footprints per each filth your pawn stepped in : " + settings.FilthPerSteppedInItMultiplier + "x");
            listing.Label("Filth duration per step in it : " + (int)(HediffComp_Stain_Footprint.LengthPerBloodFilth * settings.FilthPerSteppedInItMultiplier).TicksToSeconds() + " seconds");
            settings.FilthPerSteppedInItMultiplier = (int)listing.Slider(settings.FilthPerSteppedInItMultiplier, 1f, 5f);

            listing.Label("Max filth carried multiplier - Will augment the limit of footprints if pawns keeps on stepping it : " + settings.MaxFilthCarriedMultiplier + "x");
            listing.Label("Limit : " + (HediffComp_Stain_Footprint.StainedTicksLimit * settings.MaxFilthCarriedMultiplier).TicksToSeconds() + " seconds");
            settings.MaxFilthCarriedMultiplier = (int)listing.Slider(settings.MaxFilthCarriedMultiplier, 1f, 5f);

            listing.CheckboxLabeled("Red footprints only if injured (Humans only): ", ref settings.RedFootprintOnlyIfInjured);

            listing.Gap();
            listing.Gap();

            listing.Label("Safe mod removal");
            listing.GapLine();
            listing.Label(
                " 1. Check this if you want to remove the mod" +
                "\n 2. Load your saved game, wait a few seconds" +
                "\n 3. Save, preferably in another slot" +
                "\n 4. Quit and remove the mod" +
                "\n 5. Load your last save"
                );

            listing.CheckboxLabeled("SafeModRemoval: ", ref settings.SafeRemoval);

            listing.End();
            base.DoSettingsWindowContents(inRect);
        }
Ejemplo n.º 19
0
        public static void DrawUI(Rect area)
        {
            var listingArea = area;

            listingArea.width = Mathf.Min(460, area.width);

            Listing_Standard listing = new Listing_Standard();

            Widgets.BeginScrollView(listingArea, ref scroll, viewRect);
            listing.Begin(new Rect(0, 0, listingArea.width - 24, 99999));
            listing.Gap();
            listing.Label("RFS.Header".Translate());
            listing.CheckboxLabeled("RFS.ShowAdvanced".Translate(), ref showAdvanced, "RFS.ShowAdvancedDesc".Translate());
            GUI.color = Color.Lerp(Color.red, Color.white, 0.4f);
            bool reset = listing.ButtonText("Reset All");

            GUI.color = Color.white;

            foreach (var item in GetAllEntries())
            {
                try
                {
                    if (reset)
                    {
                        item.Reset();
                    }
                    if (item.IsAdvanced && !showAdvanced)
                    {
                        continue;
                    }

                    item.Draw(listing);
                }
                catch (Exception e)
                {
                    Core.Error($"Exception drawing settings item '{item.Label}':", e);
                }
            }

            float h = listing.CurHeight;

            listing.End();
            Widgets.EndScrollView();
            viewRect = new Rect(0, 0, listingArea.width - 25, h);
        }
Ejemplo n.º 20
0
        public static float LastRealTimeSlowdown;         // Unsaved

        public static void DoSettingsWindowContents(Rect rect)
        {
            IEnumerable <SlowdownDegree> allDegrees = Enum.GetValues(typeof(SlowdownDegree)).Cast <SlowdownDegree>();
            Listing_Standard             modOptions = new Listing_Standard();

            modOptions.Begin(rect);
            modOptions.Gap(20f);

            modOptions.Label("NFS.ModFunctions".Translate());

            // Toggle how much the mod interferes with vanilla TimeSlower
            foreach (SlowdownDegree degree in allDegrees)
            {
                string name    = "NFS." + degree.ToString();
                string label   = name.Translate();
                bool   active  = CurrentModFunction == degree;
                string tooltip = (name + ".Tooltip").Translate();

                if (modOptions.RadioButton(label, active, default, tooltip))
                {
                    CurrentModFunction = degree;

#if DEBUG
                    Log.Message($"No Forced Slowdown :: [{CurrentModFunction.ToString()}] has been selected.");
#endif
                }
            }

            if (CurrentModFunction == SlowdownDegree.DisableGamespeedLock)
            {
                modOptions.Gap(60f);

                // Determine real time seconds timer for Settings.MinSecondsToNextSlowdown
                Rect TextFieldRect = modOptions.GetRect(Text.LineHeight);
                Rect labelRect     = TextFieldRect.LeftPart(0.75f);
                Rect inputRect     = TextFieldRect.RightPart(0.20f);

                Widgets.Label(labelRect, "NFS.MinSecondsToNextSlowdown".Translate());
                Widgets.DrawHighlightIfMouseover(labelRect);
                TooltipHandler.TipRegion(labelRect, "NFS.MinSecondsToNextSlowdown.Tooltip".Translate());
                Widgets.TextFieldNumeric(inputRect, ref MinSecondsToNextSlowdown, ref minSecondsTextBuffer);
            }

            modOptions.End();
        }
Ejemplo n.º 21
0
        // Token: 0x06000063 RID: 99 RVA: 0x00004630 File Offset: 0x00002830
        public void DoWindowContents(Rect canvas)
        {
            float            gap = 8f;
            Listing_Standard listing_Standard = new Listing_Standard();

            listing_Standard.ColumnWidth = canvas.width;
            listing_Standard.Begin(canvas);
            listing_Standard.Gap(gap);
            listing_Standard.CheckboxLabeled("Aquarium.DoDeathMsgs".Translate(), ref DoDeathMsgs, null);
            listing_Standard.Gap(gap);
            listing_Standard.CheckboxLabeled("Aquarium.AllowTankSounds".Translate(), ref AllowTankSounds, null);
            listing_Standard.Gap(gap);
            listing_Standard.CheckboxLabeled("Aquarium.FishMovesAround".Translate(), ref FishMovesAround, "Aquarium.FishMovesAroundTooltip".Translate());
            listing_Standard.Gap(gap);
            listing_Standard.CheckboxLabeled("Aquarium.AllowInspire".Translate(), ref AllowInspire, null);
            listing_Standard.Gap(gap);
            checked
            {
                listing_Standard.Label("Aquarium.BaseInspChance".Translate() + "  " + (int)BaseInspChance, -1f, null);
                BaseInspChance = (int)listing_Standard.Slider((int)BaseInspChance, 1f, 10f);
                listing_Standard.Gap(gap);
                listing_Standard.Label("Aquarium.FishLife".Translate() + "  " + (int)FishLife, -1f, null);
                FishLife = (int)listing_Standard.Slider((int)FishLife, 1f, 3f);
                listing_Standard.Gap(gap);
                listing_Standard.Label("Aquarium.DegradeWaterFactor".Translate() + "  " + (int)DegradeWaterFactor, -1f, null);
                DegradeWaterFactor = (int)listing_Standard.Slider((int)DegradeWaterFactor, 50f, 200f);
                listing_Standard.Gap(gap);
                listing_Standard.Label("Aquarium.DegradeFoodFactor".Translate() + "  " + (int)DegradeFoodFactor, -1f, null);
                DegradeFoodFactor = (int)listing_Standard.Slider((int)DegradeFoodFactor, 50f, 200f);
                listing_Standard.Gap(gap);
                listing_Standard.Label("Aquarium.RespondClean".Translate() + "  " + (int)RespondClean, -1f, null);
                RespondClean = (int)listing_Standard.Slider((int)RespondClean, 25f, 75f);
                listing_Standard.Gap(gap);
                listing_Standard.Label("Aquarium.RespondFood".Translate() + "  " + (int)RespondFood, -1f, null);
                RespondFood = (int)listing_Standard.Slider((int)RespondFood, 25f, 75f);
                listing_Standard.Gap(gap);
                listing_Standard.CheckboxLabeled("Aquarium.AllowBreed".Translate(), ref AllowBreed, null);
                listing_Standard.Gap(gap);
                listing_Standard.Label("Aquarium.BreedChance".Translate() + "  " + (int)BreedChance, -1f, null);
                BreedChance = (int)listing_Standard.Slider((int)BreedChance, 25f, 75f);
                listing_Standard.Gap(gap);
                listing_Standard.Gap(gap);
                listing_Standard.End();
            }
        }
Ejemplo n.º 22
0
    public void DoWindowContents(Rect canvas)
    {
        var listing_Standard = new Listing_Standard
        {
            ColumnWidth = canvas.width
        };

        listing_Standard.Begin(canvas);
        listing_Standard.Gap();
        listing_Standard.CheckboxLabeled("Brrr.UseBrrr".Translate(), ref UseBrrr);
        listing_Standard.Gap(2f);
        listing_Standard.Label("Brrr.UnsafeBrrrSev".Translate() + "  " + UnsafeBrrrSev);
        UnsafeBrrrSev = listing_Standard.Slider(UnsafeBrrrSev, 10f, 30f);
        listing_Standard.Gap(10f);
        listing_Standard.CheckboxLabeled("Brrr.UsePhew".Translate(), ref UsePhew);
        listing_Standard.Gap(2f);
        listing_Standard.Label("Brrr.UnsafePhewSev".Translate() + "  " + UnsafePhewSev);
        UnsafePhewSev = listing_Standard.Slider(UnsafePhewSev, 10f, 30f);
        listing_Standard.Gap(10f);
        listing_Standard.CheckboxLabeled("Brrr.UseYuk".Translate(), ref UseYuk);
        listing_Standard.Gap(2f);
        listing_Standard.Label("Brrr.UnsafeYukSev".Translate() + "  " + UnsafeYukSev);
        UnsafeYukSev = listing_Standard.Slider(UnsafeYukSev, 5f, 15f);
        listing_Standard.Gap(10f);
        listing_Standard.CheckboxLabeled("Brrr.UseGasp".Translate(), ref UseGasp);
        listing_Standard.Gap(2f);
        listing_Standard.Label("Brrr.UnsafeGaspSev".Translate() + "  " + UnsafeGaspSev);
        UnsafeYukSev = listing_Standard.Slider(UnsafeYukSev, 5f, 15f);
        listing_Standard.Gap(10f);
        listing_Standard.CheckboxLabeled("Brrr.UseOoh".Translate(), ref UseOoh);
        listing_Standard.Gap(2f);
        listing_Standard.Label("Brrr.OohSev".Translate() + "  " + OohSev);
        OohSev = listing_Standard.Slider(OohSev, 10f, 30f);
        listing_Standard.Gap(10f);
        listing_Standard.CheckboxLabeled("Brrr.AllowJoy".Translate(), ref AllowJoy);
        listing_Standard.Gap(2f);
        listing_Standard.Label("Brrr.JoySev".Translate() + "  " + JoySev);
        JoySev = listing_Standard.Slider(JoySev, 5f, 25f);
        listing_Standard.Gap(10f);
        listing_Standard.CheckboxLabeled("Brrr.ApplyAnimals".Translate(), ref ApplyAnimals);
        listing_Standard.Gap(10f);
        listing_Standard.CheckboxLabeled("Brrr.AllowUnsafeAreas".Translate(), ref AllowUnsafeAreas);
        listing_Standard.Gap(2f);
        listing_Standard.End();
    }
Ejemplo n.º 23
0
        public void DoSettingsWindowContents(Rect canvas)
        {
            Listing_Standard _Listing_Standard = new Listing_Standard();

            _Listing_Standard.ColumnWidth = canvas.width;
            _Listing_Standard.Begin(canvas);
            //listing_Standard.set_ColumnWidth(rect.get_width() - 4f);

            _Listing_Standard.CheckboxLabeled(Translator.Translate("FP_RSLUM_setting_FlatStartingStat"), ref FlatStartingStat, null);
            _Listing_Standard.Gap(12f);

            _Listing_Standard.GapLine(12f);
            _Listing_Standard.Label(Translator.Translate("FP_RSLUM_setting_ColonistPercent") + " : " + ColonistPercent + "%"); // Residents will get this percent of their skill experience. default = 80

            ColonistPercent = (int)_Listing_Standard.Slider((float)ColonistPercent, 1f, 200f);

            _Listing_Standard.Label(":)");

            _Listing_Standard.GapLine(12f);
            _Listing_Standard.Label(Translator.Translate("FP_RSLUM_setting_AnimalEXPPerTick") + " : " + AnimalEXPPerTick);    // Animals will get this amount of EXP every 10 seconds. default = 500
            AnimalEXPPerTick = (int)_Listing_Standard.Slider((float)AnimalEXPPerTick, 1f, 1200f);

            _Listing_Standard.GapLine(12f);
            _Listing_Standard.Label(Translator.Translate("FP_RSLUM_setting_Startingstat_min") + " : " + Startingstat_min); // Residents will get this percent of their skill experience. default = 80

            Startingstat_min = (int)_Listing_Standard.Slider((float)Startingstat_min, -50f, 200f);

            _Listing_Standard.GapLine(12f);
            _Listing_Standard.Label(Translator.Translate("FP_RSLUM_setting_Startingstat_max") + " : " + Startingstat_max); // Residents will get this percent of their skill experience. default = 80

            Startingstat_max = (int)_Listing_Standard.Slider((float)Startingstat_max, -50f, 200f);

            _Listing_Standard.GapLine(12f);
            _Listing_Standard.Label(Translator.Translate("FP_RSLUM_setting_KillExpMult") + " : " + KillExpMult.ToString() + "%"); // Residents will get this percent of their skill experience. default = 100

            KillExpMult = (int)_Listing_Standard.Slider((float)KillExpMult, 1f, 300f);

            _Listing_Standard.GapLine(12f);
            _Listing_Standard.Label(Translator.Translate("FP_RSLUM_setting_KillExpMult") + " : " + KillExpMult.ToString() + "%"); // Residents will get this percent of their skill experience. default = 100

            KillExpMult = (int)_Listing_Standard.Slider((float)KillExpMult, 1f, 300f);


            _Listing_Standard.End();
        }
Ejemplo n.º 24
0
        public static void DrawTrainingCard(Rect rect, Pawn pawn)
        {
            Text.Font = GameFont.Small;
            Rect rect2 = new Rect(TrainingCardUtility.TrainabilityLeft, TrainingCardUtility.TrainabilityTop, 30f, 30f);

            TooltipHandler.TipRegion(rect2, "RenameAnimal".Translate());
            if (Widgets.ButtonImage(rect2, TexButton.Rename))
            {
                Find.WindowStack.Add(new Dialog_NamePawn(pawn));
            }
            Listing_Standard listing_Standard = new Listing_Standard();

            listing_Standard.Begin(rect);
            listing_Standard.Label("CreatureTrainability".Translate(new object[]
            {
                pawn.def.label
            }).CapitalizeFirst() + ": " + pawn.RaceProps.trainability.LabelCap, -1f, null);
            Listing_Standard arg_FE_0 = listing_Standard;
            string           label    = "CreatureWildness".Translate(new object[]
            {
                pawn.def.label
            }).CapitalizeFirst() + ": " + pawn.RaceProps.wildness.ToStringPercent();
            string wildnessExplanation = TrainableUtility.GetWildnessExplanation(pawn.def);

            arg_FE_0.Label(label, -1f, wildnessExplanation);
            if (pawn.training.HasLearned(TrainableDefOf.Obedience))
            {
                Rect rect3 = listing_Standard.GetRect(25f);
                Widgets.Label(rect3, "Master".Translate() + ": ");
                rect3.xMin = rect3.center.x;
                TrainableUtility.MasterSelectButton(rect3, pawn, false);
            }
            listing_Standard.Gap(12f);
            float num = 50f;
            List <TrainableDef> trainableDefsInListOrder = TrainableUtility.TrainableDefsInListOrder;

            for (int i = 0; i < trainableDefsInListOrder.Count; i++)
            {
                if (TrainingCardUtility.TryDrawTrainableRow(listing_Standard.GetRect(28f), pawn, trainableDefsInListOrder[i]))
                {
                    num += 28f;
                }
            }
            listing_Standard.End();
        }
Ejemplo n.º 25
0
        public void DoWindowContents(Rect inRect)
        {
            var list = new Listing_Standard();

            list.Begin(inRect);

            list.CheckboxLabeled(
                "Cyberization.Settings.Power.Enable".Translate(),
                ref UsePartPower);

            list.CheckboxLabeled(
                "Cyberization.Settings.Maintenance.Enable".Translate(),
                ref UsePartMaintenance);

            list.CheckboxLabeled(
                "Cyberization.Settings.Breakdowns.Enable".Translate(),
                ref UsePartBreakdowns);

            if (UsePartPower)
            {
                var electricRatioBuffer = ElectricRatio.ToString();
                Widgets.TextFieldNumericLabeled(
                    list.GetRect(Text.LineHeight),
                    "Cyberization.Settings.Power.ElectricRatio".Translate(),
                    ref ElectricRatio,
                    ref electricRatioBuffer);

                list.Label("Cyberization.Settings.Power.SeekPowerPercent".Translate() + ": " + SeekPowerPercent * 100 + "%");
                SeekPowerPercent = list.Slider(SeekPowerPercent, 0f, 1f);

                list.Label("Cyberization.Settings.Power.SeekPowerChargeTo".Translate() + ": " + SeekPowerChargeTo * 100 + "%");
                SeekPowerChargeTo = list.Slider(SeekPowerChargeTo, 0f, 1f);
            }

            if (UsePartMaintenance)
            {
                list.Label("Cyberization.Settings.Maintenance.SeekMaintenancePercent".Translate() + ": " + SeekMaintenancePercent * 100 + "%");
                SeekMaintenancePercent = list.Slider(SeekMaintenancePercent, 0f, 1f);

                list.Label("Cyberization.Settings.Maintenance.SatisfiedMaintenancePercent".Translate() + ": " + SatisfiedMaintenancePercent * 100 + "%");
                SatisfiedMaintenancePercent = list.Slider(SatisfiedMaintenancePercent, 0f, 1f);
            }

            list.End();
        }
Ejemplo n.º 26
0
        protected override void FillTab()
        {
            Text.Font = GameFont.Small;
            Rect rect = new Rect(0f, 20f, size.x, size.y - 20).ContractedBy(10f);

            listingStandard.Begin(rect);
            {
                if (SelPawn.IsTrader())
                {
                    FillTabTrader();
                }
                else
                {
                    FillTabGuest(rect);
                }
            }
            listingStandard.End();
        }
Ejemplo n.º 27
0
        public static void DoSettingsWindowContents(Rect rect)
        {
            Listing_Standard modOptions = new Listing_Standard();

            modOptions.Begin(rect);
            modOptions.Gap(20f);

            Rect modifyDistanceRect = modOptions.GetRect(Text.LineHeight);
            Rect labelRect          = modifyDistanceRect.LeftPart(0.75f);
            Rect inputRect          = modifyDistanceRect.RightPart(0.20f);

            Widgets.Label(labelRect, "PFM.ModifiedDistanceToClose".Translate());
            Widgets.DrawHighlightIfMouseover(labelRect);
            TooltipHandler.TipRegion(labelRect, "PFM.ModifiedDistanceToClose.Tooltip".Translate());
            Widgets.TextFieldNumeric(inputRect, ref ModifiedDistanceToClose, ref modifiedDistanceTextBuffer);

            modOptions.End();
        }
Ejemplo n.º 28
0
        public static void DoWindowContents(Rect inRect)
        {
            Listing_Standard ls = new Listing_Standard();

            ls.Begin(inRect);
            ls.ColumnWidth = inRect.width / 3.2f;

            ls.CheckboxLabeled("TM_enableBelcher".Translate(), ref TM_BelcherFlag, null);
            ls.CheckboxLabeled("TM_enableCarrier".Translate(), ref TM_CarrierFlag, null);
            ls.CheckboxLabeled("TM_enbaleDynamo".Translate(), ref TM_DynamoFlag, null);
            ls.CheckboxLabeled("TM_enableMechaniteDrone".Translate(), ref TM_MechaniteDroneFlag, null);
            ls.CheckboxLabeled("TM_enableOracle".Translate(), ref TM_OracleFlag, null);
            ls.CheckboxLabeled("TM_enableShredder".Translate(), ref TM_ShredderFlag, null);



            ls.End();
        }
Ejemplo n.º 29
0
        public void DoSettingsWindowContents(Rect inRect)
        {
            var listing = new Listing_Standard();

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

            string buffer = MaxSupplyDemandChangePercent.ToString();

            listing.Label("Limit how much the price can theoretically fluctuate with supply and demand, in percent.");
            listing.IntEntry(ref MaxSupplyDemandChangePercent, ref buffer);
            listing.Gap(40);

            listing.Label("Multiplier for how much supply/demand will affect prices (while staying within the limits). Current value: " + EffectMultiplier.ToString("F2") + ".");
            EffectMultiplier = listing.Slider(EffectMultiplier, 0f, 5f);

            listing.End();
        }
Ejemplo n.º 30
0
 public override void DoSettingsWindowContents(Rect inRect)
 {
     checked
     {
         Listing_Standard listing_Standard = new Listing_Standard();
         listing_Standard.Begin(inRect);
         listing_Standard.Label("SyrDoorMatsSlowdown".Translate() + ": " + DoorMatsSettings.slowdown, -1, "SyrDoorMatsSlowdownToolTip".Translate());
         listing_Standard.Gap(6f);
         DoorMatsSettings.slowdown = (int)listing_Standard.Slider(GenMath.RoundTo(DoorMatsSettings.slowdown, 5), 0, 100);
         listing_Standard.Gap(24f);
         if (listing_Standard.ButtonText("SyrDoorMatsDefaultSettings".Translate(), "SyrDoorMatsDefaultSettingsTooltip".Translate()))
         {
             DoorMatsSettings.slowdown = 40;
         }
         listing_Standard.End();
         settings.Write();
     }
 }