public void DoWindowContents(Rect rect) { Listing_Standard ls = new Listing_Standard(); ls.Begin(rect); ls.Gap(GapHeight); ls.CheckboxLabeled("LPR_SettingsEnabledLabel".Translate(), ref enabled, "LPR_SettingsEnabledDescription".Translate()); ls.Gap(GapHeight); // Backup original values TextAnchor backupAnchor = Text.Anchor; Text.Anchor = TextAnchor.MiddleLeft; if (ls.ButtonTextLabeled("LPR_SettingsRenderFeedbackLabel".Translate(), ("LPR_RenderFeedback_" + renderFeedback).Translate())) { List <FloatMenuOption> menuEntries = new List <FloatMenuOption>(); menuEntries.Add(new FloatMenuOption(("LPR_RenderFeedback_" + RenderFeedback.None).Translate(), delegate { renderFeedback = RenderFeedback.None; })); menuEntries.Add(new FloatMenuOption(("LPR_RenderFeedback_" + RenderFeedback.Message).Translate(), delegate { renderFeedback = RenderFeedback.Message; })); menuEntries.Add(new FloatMenuOption(("LPR_RenderFeedback_" + RenderFeedback.Window).Translate(), delegate { renderFeedback = RenderFeedback.Window; })); Find.WindowStack.Add(new FloatMenu(menuEntries)); } // Restore original values Text.Anchor = backupAnchor; ls.GapGapLine(GapHeight); ls.CheckboxGroupLabeled("LPR_SettingsRenderSettingsLabel".Translate(), "LPR_SettingsRenderSettingsDescription".Translate(), "LPR_SettingsRenderDesignationsLabel".Translate(), ref renderDesignations, "LPR_SettingsRenderDesignationsDescription".Translate(), "LPR_SettingsRenderThingIconsLabel".Translate(), ref renderThingIcons, "LPR_SettingsRenderThingIconsDescription".Translate()); ls.CheckboxGroupLabeled(null, "LPR_SettingsRenderSettingsDescription".Translate(), "LPR_SettingsRenderGameConditionsLabel".Translate(), ref renderGameConditions, "LPR_SettingsRenderGameConditionsDescription".Translate(), "LPR_SettingsRenderWeatherLabel".Translate(), ref renderWeather, "LPR_SettingsRenderWeatherDescription".Translate()); ls.Gap(GapHeight); ls.SliderLabeled("LPR_SettingsSmoothRenderAreaStepsLabel".Translate(), ref smoothRenderAreaSteps, 0, 30, null, "LPR_SettingsSmoothRenderAreaStepsDescription".Translate()); ls.GapGapLine(GapHeight); ls.FixedFrequencySliderLabeled("LPR_SettingsIntervalLabel".Translate(), ref interval, "LPR_SettingsIntervalDescription".Translate()); ls.Gap(GapHeight); ls.SliderLabeled("LPR_SettingsTimeOfDayLabel".Translate(), ref timeOfDay, 0, 23, "00 h", "LPR_SettingsTimeOfDayDescription".Translate()); ls.GapGapLine(GapHeight); // Backup original values backupAnchor = Text.Anchor; Text.Anchor = TextAnchor.MiddleLeft; if (ls.ButtonTextLabeled("LPR_SettingsEncodingLabel".Translate(), ("LPR_ImgEncoding_" + encoding).Translate())) { List <FloatMenuOption> menuEntries = new List <FloatMenuOption>(); menuEntries.Add(new FloatMenuOption(("LPR_ImgEncoding_" + SupportedEncodings[0]).Translate(), delegate { encoding = SupportedEncodings[0]; })); menuEntries.Add(new FloatMenuOption(("LPR_ImgEncoding_" + SupportedEncodings[1]).Translate(), delegate { encoding = SupportedEncodings[1]; })); menuEntries.Add(new FloatMenuOption(("LPR_ImgEncoding_" + SupportedEncodings[2]).Translate(), delegate { encoding = SupportedEncodings[2]; })); Find.WindowStack.Add(new FloatMenu(menuEntries)); } // Restore original values Text.Anchor = backupAnchor; ls.Gap(GapHeight); ls.SliderLabeled("LPR_SettingsPixelPerCellLabel".Translate(), ref pixelPerCell, 1, 64, "##0 ppc", "LPR_SettingsPixelPerCellDescription".Translate()); ls.Gap(GapHeight); ls.IntegerFieldLabeled("LPR_SettingsOutputImageFixedHeightLabel".Translate(), ref outputImageFixedHeight, ref outputImageFixedHeightBuffer, "LPR_SettingsOutputImageFixedHeightAdditionalInfo".Translate(), "LPR_SettingsOutputImageFixedHeightDescription".Translate()); ls.Gap(GapHeight); ls.TextFieldLabeled("LPR_SettingsExportPathLabel".Translate(), ref exportPath, "LPR_SettingsExportPathDescription".Translate()); ls.Gap(GapHeight); ls.CheckboxLabeled("LPR_SettingsCreateSubdirsLabel".Translate(), ref createSubdirs, "LPR_SettingsCreateSubdirsDescription".Translate()); ls.Gap(GapHeight); // Backup original values backupAnchor = Text.Anchor; Text.Anchor = TextAnchor.MiddleLeft; if (ls.ButtonTextLabeled("LPR_SettingsFileNamePatternLabel".Translate(), ("LPR_FileNamePattern_" + fileNamePattern).Translate())) { List <FloatMenuOption> menuEntries = new List <FloatMenuOption>(); menuEntries.Add(new FloatMenuOption(("LPR_FileNamePattern_" + FileNamePattern.DateTime).Translate(), delegate { fileNamePattern = FileNamePattern.DateTime; })); menuEntries.Add(new FloatMenuOption(("LPR_FileNamePattern_" + FileNamePattern.Numbered).Translate(), delegate { fileNamePattern = FileNamePattern.Numbered; })); menuEntries.Add(new FloatMenuOption(("LPR_FileNamePattern_" + FileNamePattern.BothTmpCopy).Translate(), delegate { fileNamePattern = FileNamePattern.BothTmpCopy; })); Find.WindowStack.Add(new FloatMenu(menuEntries)); } // Restore original values Text.Anchor = backupAnchor; ls.End(); }