public static string GetKeyText(BindingKeysData bindingKey) { if (bindingKey == null) { return("None"); } var prefix = new StringBuilder(); if (bindingKey.IsCtrlDown) { prefix.Append("Ctrl+"); } if (bindingKey.IsAltDown) { prefix.Append("Alt+"); } if (bindingKey.IsShiftDown) { prefix.Append("Shift+"); } return(prefix.ToString() + bindingKey.Key); }
public static bool ReadKey(out BindingKeysData bindingKey) { KeyCode keyCode = KeyCode.None; foreach (KeyCode keyHeld in Enum.GetValues(typeof(KeyCode))) { if (keyHeld == KeyCode.None || keyHeld > KeyCode.PageDown) { continue; } if (Input.GetKey(keyHeld)) { keyCode = keyHeld; break; } } if (keyCode != KeyCode.None) { bindingKey = new BindingKeysData() { Key = keyCode, IsCtrlDown = Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.RightControl), IsAltDown = Input.GetKey(KeyCode.LeftAlt) || Input.GetKey(KeyCode.RightAlt), IsShiftDown = Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift) }; return(true); } else { bindingKey = null; return(false); } }
public static bool CanBeRegistered(string bindingName, BindingKeysData bindingKey, KeyboardAccess.GameModesGroup gameMode = KeyboardAccess.GameModesGroup.World) { bool isBound = Game.Instance.Keyboard.GetBindingByName(bindingName) != null; if (isBound) { Game.Instance.Keyboard.UnregisterBinding(bindingName); } bool result = Game.Instance.Keyboard.CanBeRegistered( bindingName, bindingKey.Key, gameMode, bindingKey.IsCtrlDown, bindingKey.IsAltDown, bindingKey.IsShiftDown); if (isBound) { Game.Instance.Keyboard.RegisterBinding( bindingName, bindingKey, gameMode, false); } return(result); }
public static void RegisterKey(string bindingName, BindingKeysData bindingKey, KeyboardAccess.GameModesGroup gameMode = KeyboardAccess.GameModesGroup.World) { Game.Instance.Keyboard.UnregisterBinding(bindingName); if (bindingKey != null && bindingKey.Key != KeyCode.None) { Game.Instance.Keyboard.RegisterBinding(bindingName, bindingKey, gameMode, false); } }
private void TryRegisterHotkey(string name, BindingKeysData value) { if (value != null) { HotkeyHelper.RegisterKey(name, value, KeyboardAccess.GameModesGroup.World); } else { HotkeyHelper.UnregisterKey(name); } }
private void TryRegisterHotkey(string name, BindingKeysData value) { Mod.Debug(MethodBase.GetCurrentMethod(), name, HotkeyHelper.GetKeyText(value)); if (value != null) { HotkeyHelper.RegisterKey(name, value, KeyboardAccess.GameModesGroup.All); } else { HotkeyHelper.UnregisterKey(name); } }
public static bool CanBeRegistered(string bindingName, BindingKeysData bindingKey, KeyboardAccess.GameModesGroup gameMode = KeyboardAccess.GameModesGroup.World) { bool result = Game.Instance.Keyboard.CanBeRegistered( bindingName, bindingKey.Key, gameMode, bindingKey.IsCtrlDown, bindingKey.IsAltDown, bindingKey.IsShiftDown); return(result); }
public static string GetKeyText(BindingKeysData bindingKey) { if (bindingKey == null) { return("None"); } else { return(string.Concat( bindingKey.IsCtrlDown ? "Ctrl+" : null, bindingKey.IsAltDown ? "Alt+" : null, bindingKey.IsShiftDown ? "Shift+" : null, bindingKey.Key.ToString())); } }
public static string GetKeyText(BindingKeysData bindingKey) { if (bindingKey == null) { return("None"); } else { string prefix = bindingKey.IsCtrlDown ? "Ctrl+" : bindingKey.IsShiftDown ? "Shift+" : bindingKey.IsAltDown ? "Alt+" : string.Empty; return(prefix + bindingKey.Key.ToString()); } }
public void SetHotkey(string name, BindingKeysData value) { Hotkeys[name] = value; TryRegisterHotkey(name, value); }