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); }
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); }
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()); } }
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); }
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()); } }