/// <summary> /// Adds header controls to the panel. /// </summary> /// <param name="yPos">Relative Y position for buttons</param> /// <returns>Relative Y coordinate below the finished setup</returns> protected override float PanelHeader(float yPos) { // Y position reference. float currentY = yPos + Margin; // Add 'Use legacy by default' header. // Label. UILabel legacyLabel = UIControls.AddLabel(panel, Margin, currentY, Translations.Translate(LegacyCheckLabel), panel.width - Margin, textScale: 0.9f); currentY += legacyLabel.height + 5f; // Use legacy by default for this save check. UICheckBox legacyThisSaveCheck = UIControls.LabelledCheckBox(panel, Margin * 2, currentY, Translations.Translate("RPR_DEF_LTS")); legacyThisSaveCheck.label.wordWrap = true; legacyThisSaveCheck.label.autoSize = false; legacyThisSaveCheck.label.width = 710f; legacyThisSaveCheck.label.autoHeight = true; legacyThisSaveCheck.isChecked = ThisLegacyCategory; legacyThisSaveCheck.eventCheckChanged += (control, isChecked) => { ThisLegacyCategory = isChecked; UpdateControls(); SettingsUtils.SaveSettings(); }; // Use legacy by default for new saves check. currentY += 20f; UICheckBox legacyNewSaveCheck = UIControls.LabelledCheckBox(panel, Margin * 2, currentY, Translations.Translate("RPR_DEF_LAS")); legacyNewSaveCheck.label.wordWrap = true; legacyNewSaveCheck.label.autoSize = false; legacyNewSaveCheck.label.width = 710f; legacyNewSaveCheck.label.autoHeight = true; legacyNewSaveCheck.isChecked = NewLegacyCategory; legacyNewSaveCheck.eventCheckChanged += (control, isChecked) => { NewLegacyCategory = isChecked; UpdateControls(); SettingsUtils.SaveSettings(); }; // Spacer bar. currentY += 25f; UIControls.OptionsSpacer(panel, Margin, currentY, panel.width - (Margin * 2f)); return(currentY + 10f); }
/// <summary> /// Adds a title label across the top of the specified UIComponent. /// </summary> /// <param name="parent">Parent component</param> /// <param name="titleKey">Title translation key</param> /// <returns>Y position below title</returns> internal static float TitleLabel(UIComponent parent, string titleKey) { // Margin. const float Margin = 5f; // Add title. UILabel titleLabel = UIControls.AddLabel(parent, 0f, Margin, Translations.Translate(titleKey), parent.width, 1.5f); titleLabel.textAlignment = UIHorizontalAlignment.Center; titleLabel.font = Resources.FindObjectsOfTypeAll <UIFont>().FirstOrDefault((UIFont f) => f.name == "OpenSans-Semibold"); UIControls.OptionsSpacer(parent, Margin, titleLabel.height + (Margin * 2f), parent.width - (Margin * 2f)); return(Margin + titleLabel.height + Margin + 5f + Margin); }