Example #1
0
        private void DrawExtras(Rect rect)
        {
            Widgets.DrawMenuSection(rect);
            Listing_Standard listing = new Listing_Standard(rect.ContractedBy(5f));

            listing.DoLabelCheckbox("ExplodeOnDeath".Translate(), ref _bp.ExplodeOnDeath);
            if (_bp.ExplodeOnDeath)
            {
                listing.DoLabel("ExplosionRadius".Translate(_bp.ExplosionRadius.ToString("0.0")));
                _bp.ExplosionRadius = listing.DoSlider(_bp.ExplosionRadius, 0.9f, 3.9f);
            }

            listing.DoLabel("StartingSkill".Translate(_bp.StartingSkillLevel));
            _bp.StartingSkillLevel = (int)listing.DoSlider(_bp.StartingSkillLevel, 1, 20);

            if (listing.DoTextButtonLabeled("SkillPassion".Translate(), _bp.SkillPassion.ToString()))
            {
                List <FloatMenuOption> list = new List <FloatMenuOption>();

                foreach (Passion p in Enum.GetValues(typeof(Passion)))
                {
                    if (p != _bp.SkillPassion)
                    {
                        FloatMenuOption option = new FloatMenuOption(p.ToString(), () => _bp.SkillPassion = p);
                        list.Add(option);
                    }
                }
                Find.LayerStack.Add(new Layer_FloatMenu(list));
            }
            listing.End();
        }
Example #2
0
        protected override void FillTab()
        {
            //ConceptDatabase.KnowledgeDemonstrated(ConceptDefOf.PrisonerTab, KnowledgeAmount.GuiFrame);
            Text.Font = GameFont.Small;
            Rect rect = new Rect(0f, 20f, size.x, size.y-20).ContractedBy(10f);
            var listingStandard = new Listing_Standard(rect);
            {
                var tryImprove = SelPawn.ImproveRelationship();
                var tryRecruit = SelPawn.TryRecruit();

                listingStandard.OverrideColumnWidth = size.x;
                listingStandard.DoLabelCheckbox("ShouldTryToRecruit".Translate(), ref tryRecruit);
                listingStandard.DoLabelCheckbox("ImproveRelationship".Translate(), ref tryImprove);
                listingStandard.DoLabel(txtRecruitmentDifficulty + ": " + MakeDifficultyRelative(SelPawn).ToString("##0"));
                listingStandard.DoLabel(txtRecruitmentPenalty + ": " + SelPawn.RecruitPenalty().ToString("##0"));
                listingStandard.DoLabel("Faction goodwill: " + SelPawn.Faction.ColonyGoodwill.ToString("##0"));

                SelPawn.guest.interactionMode = tryRecruit
                    ? PrisonerInteractionMode.AttemptRecruit
                    : tryImprove ? PrisonerInteractionMode.Chat
                    : PrisonerInteractionMode.NoInteraction;
            }
            listingStandard.End();
        }
Example #3
0
        protected void fillPageArrangement(Listing_Standard listing)
        {
            DoHeading(listing, "PSI.Settings.Arrangement.Header");

            if (listing.DoTextButton(Translator.Translate("PSI.Settings.LoadPresetButton")))
            {
                string[] presetList = { };
                String   path2      = GenFilePaths.CoreModsFolderPath + "/Pawn State Icons/Presets/Position/";
                if (Directory.Exists(path2))
                {
                    presetList = Directory.GetFiles(path2, "*.cfg");
                }

                List <FloatMenuOption> options = new List <FloatMenuOption>();
                foreach (string setname in presetList)
                {
                    options.Add(new FloatMenuOption(Path.GetFileNameWithoutExtension(setname), () =>
                    {
                        try
                        {
                            ModSettings settings          = XmlLoader.ItemFromXmlFile <ModSettings>(setname, true);
                            PSI.settings.iconDistanceX    = settings.iconDistanceX;
                            PSI.settings.iconDistanceY    = settings.iconDistanceY;
                            PSI.settings.iconOffsetX      = settings.iconOffsetX;
                            PSI.settings.iconOffsetY      = settings.iconOffsetY;
                            PSI.settings.iconsHorizontal  = settings.iconsHorizontal;
                            PSI.settings.iconsScreenScale = settings.iconsScreenScale;
                            PSI.settings.iconsInColumn    = settings.iconsInColumn;
                            PSI.settings.iconSize         = settings.iconSize;
                        }
                        catch (IOException) { Log.Error(Translator.Translate("PSI.Settings.LoadPreset.UnableToLoad") + setname); }
                    }));
                }
                Find.LayerStack.Add((Layer) new Layer_FloatMenu(options, false));
            }

            int labelNum = (int)(PSI.settings.iconSize * 4.5f);

            if (labelNum > 8)
            {
                labelNum = 8;
            }
            else if (labelNum < 0)
            {
                labelNum = 0;
            }

            listing.DoLabel(Translator.Translate("PSI.Settings.Arrangement.IconSize") + Translator.Translate("PSI.Settings.SizeLabel." + labelNum));
            PSI.settings.iconSize = listing.DoSlider(PSI.settings.iconSize, 0.5f, 2.0f);

            listing.DoLabel(Translator.Translate("PSI.Settings.Arrangement.IconPosition") + (int)(PSI.settings.iconDistanceX * 100) + " , " + (int)(PSI.settings.iconDistanceY * 100));
            PSI.settings.iconDistanceX = listing.DoSlider(PSI.settings.iconDistanceX, -2.0f, 2.0f);
            PSI.settings.iconDistanceY = listing.DoSlider(PSI.settings.iconDistanceY, -2.0f, 2.0f);

            listing.DoLabel(Translator.Translate("PSI.Settings.Arrangement.IconOffset") + (int)(PSI.settings.iconOffsetX * 100) + " , " + (int)(PSI.settings.iconOffsetY * 100));
            PSI.settings.iconOffsetX = listing.DoSlider(PSI.settings.iconOffsetX, -2.0f, 2.0f);
            PSI.settings.iconOffsetY = listing.DoSlider(PSI.settings.iconOffsetY, -2.0f, 2.0f);
            listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Arrangement.Horizontal"), ref PSI.settings.iconsHorizontal);
            listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Arrangement.ScreenScale"), ref PSI.settings.iconsScreenScale);

            listing.DoLabel(Translator.Translate("PSI.Settings.Arrangement.IconsPerColumn") + PSI.settings.iconsInColumn);
            PSI.settings.iconsInColumn = (int)listing.DoSlider(PSI.settings.iconsInColumn, 1.0f, 9.0f);

            if (listing.DoTextButton(Translator.Translate("PSI.Settings.ReturnButton")))
            {
                page = "main";
            }
        }
Example #4
0
        protected void fillPageShowHide(Listing_Standard listing)
        {
            listing.OverrideColumnWidth = 230;
            DoHeading(listing, "PSI.Settings.Visibility.Header");
            listing.OverrideColumnWidth = 95;

            listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.TargetPoint"), ref PSI.settings.showTargetPoint);
            listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Aggressive"), ref PSI.settings.showAggressive);
            listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Dazed"), ref PSI.settings.showDazed);
            listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Leave"), ref PSI.settings.showLeave);
            listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Draft"), ref PSI.settings.showDraft);
            listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Idle"), ref PSI.settings.showIdle);
            listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Unarmed"), ref PSI.settings.showUnarmed);
            listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Hungry"), ref PSI.settings.showHungry);
            listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Sad"), ref PSI.settings.showSad);
            listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Tired"), ref PSI.settings.showTired);
            listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Disease"), ref PSI.settings.showDisease);

            listing.OverrideColumnWidth = 230;

            if (listing.DoTextButton(Translator.Translate("PSI.Settings.ReturnButton")))
            {
                page = "main";
            }
            listing.OverrideColumnWidth = 95;
            listing.NewColumn();

            DoHeading(listing, " ", false);
            DoHeading(listing, " ", false);

            listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Injury"), ref PSI.settings.showEffectiveness);
            listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Bloodloss"), ref PSI.settings.showBloodloss);
            listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Hot"), ref PSI.settings.showHot);
            listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Cold"), ref PSI.settings.showCold);
            listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Naked"), ref PSI.settings.showNaked);

            listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Drunk"), ref PSI.settings.showDrunk);
            listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.ApparelHealth"), ref PSI.settings.showApparelHealth);
            listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Pacific"), ref PSI.settings.showPacific);
        }
Example #5
0
        protected override void FillTab()
        {
            ConceptDatabase.KnowledgeDemonstrated(ConceptDefOf.PrisonerTab, KnowledgeAmount.GuiFrame);
            Text.Font = GameFont.Small;
            var rect1 = new Rect(0.0f, 0.0f, this.size.x, this.size.y).ContractedBy(10f);

            var listingStandard = new Listing_Standard(rect1);

            {
                var getsFood = this.SelPawn.guest.GetsFood;
                listingStandard.DoLabelCheckbox("GetsFood".Translate(), ref getsFood, (string)null);
                this.SelPawn.guest.GetsFood = getsFood;

                var rect2 = listingStandard.GetRect(28f);
                rect2.width = 140f;
                MedicalCareUtility.MedicalCareSetter(rect2, ref this.SelPawn.playerSettings.medCare);
                listingStandard.DoGap(4f);

                listingStandard.DoLabel("RecruitmentDifficulty".Translate() + ": " + this.SelPawn.guest.RecruitDifficulty.ToString("##0"));
                if (Prefs.DevMode)
                {
                    listingStandard.DoLabel("Dev: Prison break MTB days: " + (object)(int)PrisonBreakUtility.InitiatePrisonBreakMtbDays(this.SelPawn));
                }

                var rect3 = listingStandard.GetRect(200f);
                Widgets.DrawMenuSection(rect3, true);
                var position = rect3.ContractedBy(10f);
                GUI.BeginGroup(position);
                {
                    var rect4 = new Rect(0.0f, 0.0f, position.width, 30f);
                    foreach (PrisonerInteractionMode mode in Enum.GetValues(typeof(PrisonerInteractionMode)))
                    {
                        if (Widgets.LabelRadioButton(rect4, mode.GetLabel(), this.SelPawn.guest.interactionMode == mode))
                        {
                            this.SelPawn.guest.interactionMode = mode;
                        }
                        rect4.y += 28f;
                    }
                    if (Widgets.LabelRadioButton(rect4, "PI_Enslave".Translate(), this.SelPawn.guest.interactionMode == (PrisonerInteractionMode)Data.PIM_EnslavePrisoner))
                    {
                        this.SelPawn.guest.interactionMode = (PrisonerInteractionMode)Data.PIM_EnslavePrisoner;
                    }
                }
                GUI.EndGroup();

                var compSlave = this.SelPawn.TryGetComp <CompSlave>();
                if (compSlave != null)
                {
                    listingStandard.DoGap(4f);
                    var rect5 = listingStandard.GetRect(30f);

                    if (!compSlave.ShouldBeTransfered)
                    {
                        if (Widgets.TextButton(rect5, "PI_TransferPrisoner".Translate()))
                        {
                            var list = this.GenOptions();
                            if (
                                (list.Count == 0) ||
                                (
                                    (list.Count == 1) &&
                                    (list[0].label == "PI_Prison_Cell".Translate()) &&
                                    (this.SelPawn.GetRoom() == this.SelPawn.ownership.OwnedBed.GetRoom())
                                )
                                )
                            {
                                list.Add(new FloatMenuOption("PI_InstallCamera".Translate(), (Action)null));
                            }
                            Find.WindowStack.Add((Window) new FloatMenu(list, false));
                        }
                        else
                        {
                            this.cached = null;
                        }
                    }
                    else
                    {
                        if (Widgets.TextButton(rect5, "PI_CancelTransfer".Translate()))
                        {
                            compSlave.haulTarget = null;
                        }

                        listingStandard.DoGap(4f);

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

                        string label = string.Empty;
                        if (compSlave.haulTarget is Building_PrisonMarker)
                        {
                            label = ((Building_PrisonMarker)compSlave.haulTarget).markerName;
                        }
                        else if (compSlave.haulTarget is Building_Bed)
                        {
                            label = "PI_Prison_Cell".Translate();
                        }
                        GUI.Label(rect7, label, style);
                    }
                }
            }
            listingStandard.End();
        }
Example #6
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.OverrideColumnWidth = rect.width - 4f;

                #region Main Toggle
                var toggleLabel = "MiniMap.MCMToggleMain".Translate();
                listing.DoLabelCheckbox(toggleLabel, ref MiniMap.MiniMapController.visible);
                listing.DoGap();
                #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.DoGap(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.DoGap(iOverlayHeight + 6f);
                                listing.Undent();
                                #endregion
                            }
                            #endregion
                        }
                        #endregion

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

                #endregion
            }
            listing.End();
            return(listing.CurHeight);
        }
    protected void fillPageArrangement(Listing_Standard listing)
    {
        DoHeading(listing, "PSI.Settings.Arrangement.Header");

        if (listing.DoTextButton(Translator.Translate("PSI.Settings.LoadPresetButton")))
        {
            string[] presetList = { };
            String path2 = GenFilePaths.CoreModsFolderPath + "/Pawn State Icons/Presets/Position/";
            if (Directory.Exists(path2)) presetList = Directory.GetFiles(path2, "*.cfg"); 

            List<FloatMenuOption> options = new List<FloatMenuOption>();
            foreach (string setname in presetList)
            {
                options.Add(new FloatMenuOption(Path.GetFileNameWithoutExtension(setname), () =>
                {
                    try
                    {
                        ModSettings settings = XmlLoader.ItemFromXmlFile<ModSettings>(setname, true);
                        PSI.settings.iconDistanceX = settings.iconDistanceX;
                        PSI.settings.iconDistanceY = settings.iconDistanceY;
                        PSI.settings.iconOffsetX = settings.iconOffsetX;
                        PSI.settings.iconOffsetY = settings.iconOffsetY;
                        PSI.settings.iconsHorizontal = settings.iconsHorizontal;
                        PSI.settings.iconsScreenScale = settings.iconsScreenScale;
                        PSI.settings.iconsInColumn = settings.iconsInColumn;
                        PSI.settings.iconSize = settings.iconSize;                        
                    }
                    catch (IOException) { Log.Error(Translator.Translate("PSI.Settings.LoadPreset.UnableToLoad") + setname); }
                }));
            }
            Find.LayerStack.Add((Layer)new Layer_FloatMenu(options, false));
        }

        int labelNum = (int)(PSI.settings.iconSize * 4.5f);
        if (labelNum > 8) labelNum = 8;
        else if (labelNum < 0) labelNum = 0;

        listing.DoLabel(Translator.Translate("PSI.Settings.Arrangement.IconSize") + Translator.Translate("PSI.Settings.SizeLabel."+labelNum));
        PSI.settings.iconSize = listing.DoSlider(PSI.settings.iconSize, 0.5f, 2.0f);

        listing.DoLabel(Translator.Translate("PSI.Settings.Arrangement.IconPosition") + (int)(PSI.settings.iconDistanceX * 100) + " , " + (int)(PSI.settings.iconDistanceY * 100));
        PSI.settings.iconDistanceX = listing.DoSlider(PSI.settings.iconDistanceX, -2.0f, 2.0f);
        PSI.settings.iconDistanceY = listing.DoSlider(PSI.settings.iconDistanceY, -2.0f, 2.0f);

        listing.DoLabel(Translator.Translate("PSI.Settings.Arrangement.IconOffset") + (int)(PSI.settings.iconOffsetX * 100) + " , " + (int)(PSI.settings.iconOffsetY * 100));
        PSI.settings.iconOffsetX = listing.DoSlider(PSI.settings.iconOffsetX, -2.0f, 2.0f);
        PSI.settings.iconOffsetY = listing.DoSlider(PSI.settings.iconOffsetY, -2.0f, 2.0f);
        listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Arrangement.Horizontal"), ref PSI.settings.iconsHorizontal);
        listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Arrangement.ScreenScale"), ref PSI.settings.iconsScreenScale);

        listing.DoLabel(Translator.Translate("PSI.Settings.Arrangement.IconsPerColumn") + PSI.settings.iconsInColumn);
        PSI.settings.iconsInColumn = (int)listing.DoSlider(PSI.settings.iconsInColumn, 1.0f, 9.0f);

        if (listing.DoTextButton(Translator.Translate("PSI.Settings.ReturnButton"))) page = "main";
    }
    protected void fillPageShowHide(Listing_Standard listing)
    {

        listing.OverrideColumnWidth = 230;
        DoHeading(listing, "PSI.Settings.Visibility.Header");
        listing.OverrideColumnWidth = 95;

        listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.TargetPoint"), ref PSI.settings.showTargetPoint);
        listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Aggressive"), ref PSI.settings.showAggressive);
        listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Dazed"), ref PSI.settings.showDazed);
        listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Leave"), ref PSI.settings.showLeave);
        listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Draft"), ref PSI.settings.showDraft);
        listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Idle"), ref PSI.settings.showIdle);
        listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Unarmed"), ref PSI.settings.showUnarmed);
        listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Hungry"), ref PSI.settings.showHungry);      
        listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Sad"), ref PSI.settings.showSad);
        listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Tired"), ref PSI.settings.showTired);
        listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Disease"), ref PSI.settings.showDisease);

        listing.OverrideColumnWidth = 230;

        if (listing.DoTextButton(Translator.Translate("PSI.Settings.ReturnButton"))) page = "main";
        listing.OverrideColumnWidth = 95;
        listing.NewColumn();

        DoHeading(listing, " ", false);
        DoHeading(listing, " ", false);

        listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Injury"), ref PSI.settings.showEffectiveness);
        listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Bloodloss"), ref PSI.settings.showBloodloss);
        listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Hot"), ref PSI.settings.showHot);
        listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Cold"), ref PSI.settings.showCold);
        listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Naked"), ref PSI.settings.showNaked);

        listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Drunk"), ref PSI.settings.showDrunk);
        listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.ApparelHealth"), ref PSI.settings.showApparelHealth);
        listing.DoLabelCheckbox(Translator.Translate("PSI.Settings.Visibility.Pacific"), ref PSI.settings.showPacific);
        
    }
        private void DrawExtras(Rect rect)
        {
            Widgets.DrawMenuSection(rect);
            Listing_Standard listing = new Listing_Standard(rect.ContractedBy(5f));

            listing.DoLabelCheckbox("ExplodeOnDeath".Translate(), ref _bp.ExplodeOnDeath);
            if (_bp.ExplodeOnDeath)
            {
                listing.DoLabel("ExplosionRadius".Translate(_bp.ExplosionRadius.ToString("0.0")));
                _bp.ExplosionRadius = listing.DoSlider(_bp.ExplosionRadius, 0.9f, 3.9f);
            }

            listing.DoLabel("StartingSkill".Translate(_bp.StartingSkillLevel));
            _bp.StartingSkillLevel = (int)listing.DoSlider(_bp.StartingSkillLevel, 1, 20);

            if (listing.DoTextButtonLabeled("SkillPassion".Translate(), _bp.SkillPassion.ToString()))
            {
                List<FloatMenuOption> list = new List<FloatMenuOption>();

                foreach (Passion p in Enum.GetValues(typeof(Passion)))
                {
                    if (p != _bp.SkillPassion)
                    {
                        FloatMenuOption option = new FloatMenuOption(p.ToString(), () => _bp.SkillPassion = p);
                        list.Add(option);
                    }
                }
                Find.LayerStack.Add(new Layer_FloatMenu(list));
            }
            listing.End();
        }
Example #10
0
        private void FillPageArrangement(Listing_Standard listing)
        {
            DoHeading(listing, "PSI.Settings.Arrangement.Header");

            if (listing.DoTextButton("PSI.Settings.LoadPresetButton".Translate()))
            {
                var strArray = new string[0];
                var path     = _modPath + "/Presets/Position/";
                if (Directory.Exists(path))
                {
                    strArray = Directory.GetFiles(path, "*.cfg");
                }
                var options = strArray.Select(setname => new FloatMenuOption(Path.GetFileNameWithoutExtension(setname), () =>
                {
                    try
                    {
                        var settings = XmlLoader.ItemFromXmlFile <ModSettings>(setname);
                        PSI.Settings.iconDistanceX    = settings.iconDistanceX;
                        PSI.Settings.iconDistanceY    = settings.iconDistanceY;
                        PSI.Settings.iconOffsetX      = settings.iconOffsetX;
                        PSI.Settings.iconOffsetY      = settings.iconOffsetY;
                        PSI.Settings.iconsHorizontal  = settings.iconsHorizontal;
                        PSI.Settings.iconsScreenScale = settings.iconsScreenScale;
                        PSI.Settings.iconsInColumn    = settings.iconsInColumn;
                        PSI.Settings.iconSize         = settings.iconSize;
                    }
                    catch (IOException)
                    {
                        Log.Error("PSI.Settings.LoadPreset.UnableToLoad".Translate() + setname);
                    }
                })).ToList();
                Find.WindowStack.Add(new FloatMenu(options));
            }

            var num = (int)(PSI.Settings.iconSize * 4.5);

            if (num > 8)
            {
                num = 8;
            }
            else if (num < 0)
            {
                num = 0;
            }

            listing.DoLabel("PSI.Settings.Arrangement.IconSize".Translate() + ("PSI.Settings.SizeLabel." + num).Translate());
            PSI.Settings.iconSize = listing.DoSlider(PSI.Settings.iconSize, 0.5f, 2f);

            listing.DoLabel(string.Concat("PSI.Settings.Arrangement.IconPosition".Translate(), (int)(PSI.Settings.iconDistanceX * 100.0), " , ", (int)(PSI.Settings.iconDistanceY * 100.0)));
            PSI.Settings.iconDistanceX = listing.DoSlider(PSI.Settings.iconDistanceX, -2f, 2f);
            PSI.Settings.iconDistanceY = listing.DoSlider(PSI.Settings.iconDistanceY, -2f, 2f);

            listing.DoLabel(string.Concat("PSI.Settings.Arrangement.IconOffset".Translate(), (int)(PSI.Settings.iconOffsetX * 100.0), " , ", (int)(PSI.Settings.iconOffsetY * 100.0)));
            PSI.Settings.iconOffsetX = listing.DoSlider(PSI.Settings.iconOffsetX, -2f, 2f);
            PSI.Settings.iconOffsetY = listing.DoSlider(PSI.Settings.iconOffsetY, -2f, 2f);

            listing.DoLabelCheckbox("PSI.Settings.Arrangement.Horizontal".Translate(), ref PSI.Settings.iconsHorizontal);

            listing.DoLabelCheckbox("PSI.Settings.Arrangement.ScreenScale".Translate(), ref PSI.Settings.iconsScreenScale);

            listing.DoLabel("PSI.Settings.Arrangement.IconsPerColumn".Translate() + PSI.Settings.iconsInColumn);

            PSI.Settings.iconsInColumn = (int)listing.DoSlider(PSI.Settings.iconsInColumn, 1f, 9f);

            if (!listing.DoTextButton("PSI.Settings.ReturnButton".Translate()))
            {
                return;
            }

            Page = "main";
        }
Example #11
0
        private void FillPageShowHide(Listing_Standard listing)
        {
            listing.OverrideColumnWidth = 230f;
            DoHeading(listing, "PSI.Settings.Visibility.Header");
            listing.OverrideColumnWidth = 125f;
            listing.DoLabelCheckbox("PSI.Settings.Visibility.TargetPoint".Translate(), ref PSI.Settings.show_TargetPoint);
            listing.DoLabelCheckbox("PSI.Settings.Visibility.Aggressive".Translate(), ref PSI.Settings.show_Aggressive);
            listing.DoLabelCheckbox("PSI.Settings.Visibility.Dazed".Translate(), ref PSI.Settings.show_Dazed);
            listing.DoLabelCheckbox("PSI.Settings.Visibility.Leave".Translate(), ref PSI.Settings.show_Leave);
            listing.DoLabelCheckbox("PSI.Settings.Visibility.Draft".Translate(), ref PSI.Settings.show_Draft);
            listing.DoLabelCheckbox("PSI.Settings.Visibility.Idle".Translate(), ref PSI.Settings.show_Idle);
            listing.DoLabelCheckbox("PSI.Settings.Visibility.Unarmed".Translate(), ref PSI.Settings.show_Unarmed);
            listing.DoLabelCheckbox("PSI.Settings.Visibility.Hungry".Translate(), ref PSI.Settings.show_Hungry);
            listing.DoLabelCheckbox("PSI.Settings.Visibility.Sad".Translate(), ref PSI.Settings.show_Sad);
            listing.DoLabelCheckbox("PSI.Settings.Visibility.Tired".Translate(), ref PSI.Settings.show_Tired);
            listing.DoLabelCheckbox("PSI.Settings.Visibility.Disease".Translate(), ref PSI.Settings.show_Disease);
            listing.DoLabelCheckbox("PSI.Settings.Visibility.NightOwl".Translate(), ref PSI.Settings.show_NightOwl);
            listing.DoLabelCheckbox("PSI.Settings.Visibility.Greedy".Translate(), ref PSI.Settings.show_Greedy);
            listing.DoLabelCheckbox("PSI.Settings.Visibility.DeadColonists".Translate(), ref PSI.Settings.show_DeadColonists);

            listing.OverrideColumnWidth = 230f;
            if (listing.DoTextButton("PSI.Settings.ReturnButton".Translate()))
            {
                Page = "main";
            }
            listing.OverrideColumnWidth = 125f;
            listing.NewColumn();
            DoHeading(listing, " ", false);
            DoHeading(listing, " ", false);
            listing.DoLabelCheckbox("PSI.Settings.Visibility.Injury".Translate(), ref PSI.Settings.show_Effectiveness);
            listing.DoLabelCheckbox("PSI.Settings.Visibility.Bloodloss".Translate(), ref PSI.Settings.show_Bloodloss);
            listing.DoLabelCheckbox("PSI.Settings.Visibility.Hot".Translate(), ref PSI.Settings.show_Hot);
            listing.DoLabelCheckbox("PSI.Settings.Visibility.Cold".Translate(), ref PSI.Settings.show_Cold);
            listing.DoLabelCheckbox("PSI.Settings.Visibility.Naked".Translate(), ref PSI.Settings.show_Naked);
            listing.DoLabelCheckbox("PSI.Settings.Visibility.Drunk".Translate(), ref PSI.Settings.show_Drunk);
            listing.DoLabelCheckbox("PSI.Settings.Visibility.ApparelHealth".Translate(), ref PSI.Settings.show_ApparelHealth);
            listing.DoLabelCheckbox("PSI.Settings.Visibility.Pacific".Translate(), ref PSI.Settings.show_Pacific);
            listing.DoLabelCheckbox("PSI.Settings.Visibility.Jealous".Translate(), ref PSI.Settings.show_Jealous);
            listing.DoLabelCheckbox("PSI.Settings.Visibility.Lovers".Translate(), ref PSI.Settings.show_Lovers);
            listing.DoLabelCheckbox("PSI.Settings.Visibility.Prosthophile".Translate(), ref PSI.Settings.show_Prosthophile);
            listing.DoLabelCheckbox("PSI.Settings.Visibility.Prosthophobe".Translate(), ref PSI.Settings.show_Prosthophobe);
            listing.DoLabelCheckbox("PSI.Settings.Visibility.RoomStatus".Translate(), ref PSI.Settings.show_RoomStatus);
            listing.DoLabelCheckbox("PSI.Settings.Visibility.LeftUnburied".Translate(), ref PSI.Settings.show_LeftUnburied);
        }