Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        /// <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));
        }
Esempio n. 3
0
        /// <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
                });
            }
        }
Esempio n. 4
0
 public OsdItem_Shortcut(string text, KeybindSetting keySetting)
 {
     text_       = text;
     keySetting_ = keySetting;
 }
Esempio n. 5
0
 public Shortcut(KeybindSetting keybindSetting, string localizedText)
 {
     keybindSetting_ = keybindSetting;
     localizedText_  = localizedText;
 }