Example #1
0
        public ModifierDropDown AddKeymapping(StyleModifier value, string description)
        {
            UIPanel uiPanel = component.AttachUIComponent(UITemplateManager.GetAsGameObject(keyBindingTemplate)) as UIPanel;

            int num = count;

            count = num + 1;
            if (num % 2 == 1)
            {
                uiPanel.backgroundSprite = null;
            }

            UILabel  uilabel  = uiPanel.Find <UILabel>("Name");
            UIButton uibutton = uiPanel.Find <UIButton>("Binding");

            uiPanel.RemoveUIComponent(uibutton);
            Destroy(uibutton);
            var modifier = uiPanel.AddUIComponent <ModifierDropDown>();

            modifier.relativePosition       = new Vector2(380, 6);
            modifier.SelectedObject         = value;
            modifier.OnSelectObjectChanged += ModifierChanged;

            uilabel.text = description;

            return(modifier);
        }
Example #2
0
        public ModifierDropDown AddKeymapping(StyleModifier value, string description)
        {
            var panel = component.AttachUIComponent(UITemplateManager.GetAsGameObject("KeyBindingTemplate")) as UIPanel;

            if (count % 2 == 1)
            {
                panel.backgroundSprite = null;
            }

            count += 1;

            var button = panel.Find <UIButton>("Binding");

            panel.RemoveUIComponent(button);
            Destroy(button);

            var modifier = panel.AddUIComponent <ModifierDropDown>();

            modifier.relativePosition       = new Vector2(380, 6);
            modifier.SelectedObject         = value;
            modifier.OnSelectObjectChanged += ModifierChanged;

            var label = panel.Find <UILabel>("Name");

            label.text = description;

            return(modifier);
        }
Example #3
0
        public static string Description(this StyleModifier modifier)
        {
            var localeID = "KEYNAME";

            if (modifier.GetAttr <DescriptionAttribute, StyleModifier>() is DescriptionAttribute description)
            {
                return(Localize.ResourceManager.GetString(description.Description, Localize.Culture));
            }
            else if (modifier.GetAttr <InputKeyAttribute, StyleModifier>() is InputKeyAttribute inputKey)
            {
                var modifierStrings = new List <string>();
                if (inputKey.Control)
                {
                    modifierStrings.Add(Locale.Get(localeID, KeyCode.LeftControl.ToString()));
                }
                if (inputKey.Shift)
                {
                    modifierStrings.Add(Locale.Get(localeID, KeyCode.LeftShift.ToString()));
                }
                if (inputKey.Alt)
                {
                    modifierStrings.Add(Locale.Get(localeID, KeyCode.LeftAlt.ToString()));
                }
                return(string.Join("+", modifierStrings.ToArray()));
            }
            else
            {
                return(modifier.ToString());
            }
        }
Example #4
0
        private void ModifierChanged(ModifierDropDown changedModifier, StyleModifier value)
        {
            if (value != StyleModifier.NotSet)
            {
                foreach (var modifier in Modifiers.Keys.Where(m => m != changedModifier && m.SelectedObject == value))
                {
                    modifier.SelectedObject = StyleModifier.NotSet;
                }
            }

            OnModifierChanged?.Invoke(Modifiers[changedModifier], value);
        }
Example #5
0
 public static string Description(this StyleModifier modifier)
 {
     if (modifier.GetAttr <DescriptionAttribute, StyleModifier>() is DescriptionAttribute description)
     {
         return(Localize.ResourceManager.GetString(description.Description, Localize.Culture));
     }
     else if (modifier.GetAttr <InputKeyAttribute, StyleModifier>() is InputKeyAttribute inputKey)
     {
         return(LocalizeExtension.GetModifiers(inputKey.Control, inputKey.Alt, inputKey.Shift));
     }
     else
     {
         return(modifier.ToString());
     }
 }