public OsdConfigurator Action(string text, KeybindSetting setting) { var c = new List <object> { "Title", text }; if (Keybind.IsEmpty(setting.Key)) { c.Add("Action0"); c.Add(text); } else { if (setting.AlternateKey == null) { // One keybind available c.Add("Action1"); c.Add(setting.Key); c.Add(text); } else { // One keybind available c.Add("Action2"); c.Add(setting.Key); c.Add(setting.AlternateKey); c.Add(text); } } commands_.Add(c); return(this); }
/// <summary>Add a colored label for a keyboard shortcut.</summary> /// <returns>New UI Builder with the keybind label created.</returns> public UiBuilder <U.Label.ULabel> ShortcutLabel(KeybindSetting ks) { var shortcutLabel = Control.AddUIComponent(typeof(U.Label.ULabel)) as U.Label.ULabel; shortcutLabel.backgroundSprite = "GenericPanelDark"; shortcutLabel.textColor = UConst.SHORTCUT_KEYBIND_TEXT; shortcutLabel.text = $" {ks.ToLocalizedString()} "; return(new UiBuilder <U.Label.ULabel>(shortcutLabel)); }
/// <summary> /// On Screen Display feature: Add another keybind to the panel. /// </summary> /// <param name="kbSetting">KeybindSetting to show.</param> /// <param name="localizedText">Text from Translation.Get() or English if doesn't exist.</param> public static void Shortcut(KeybindSetting kbSetting, string localizedText) { MainMenuWindow mainMenu = ModUI.Instance.MainMenu; mainMenu.KeybindsPanel.isVisible = true; var builder = new UiBuilder <U.Panel.UPanel>(mainMenu.KeybindsPanel); using (var shortcutLabel = builder.ShortcutLabel(kbSetting)) { shortcutLabel.ResizeFunction(r => { r.Stack(UStackMode.NewRowBelow); }); } using (var descriptionLabel = builder.Label <U.Label.ULabel>(localizedText)) { descriptionLabel.ResizeFunction( r => { r.Stack( mode: UStackMode.ToTheRight, spacing: UConst.UIPADDING * 2f); // double space }); } }
public OsdItem_Shortcut(string text, KeybindSetting keySetting) { text_ = text; keySetting_ = keySetting; }
public Shortcut(KeybindSetting keybindSetting, string localizedText) { keybindSetting_ = keybindSetting; localizedText_ = localizedText; }