public void addGlobalKeyAction(String name, KeyCodes k1, KeyCodes? k2 = null, KeyCodes? k3 = null, Action OnPress = null, Action OnRelease = null, Action OnHold = null) { KeyBundle keyBundle; if (k2 == null) keyBundle = new KeyBundle(k1); else if (k3 == null) keyBundle = new KeyBundle((KeyCodes)k2, k1); else keyBundle = new KeyBundle((KeyCodes)k3, (KeyCodes)k2, k1); var keyAction = new KeyAction(name, OnPress, new HashSet<KeyBundle>() { keyBundle }); keyAction.releaseAction = OnRelease; keyAction.holdAction = OnHold; Keybinds.Add(keyBundle, keyAction); }
public void Add(string name, KeyBundle bundle, Action action, Action holdAction = null) { KeyAction ka = new KeyAction(name, action, new HashSet<KeyBundle>() { bundle }); Keybinds.Add(bundle, ka); }
public void Add(string name, HashSet<KeyBundle> bundles, Action action) { KeyAction ka = new KeyAction(name, action, bundles); foreach(KeyBundle b in bundles) { Keybinds.Add(b, ka); } }
protected void addProcessKeyAction(String name, KeyCodes k1, KeyCodes? k2 = null, KeyCodes? k3 = null, Action OnPress = null, Action OnRelease = null, Action OnHold = null) { KeyBundle keyBundle; if (k2 == null) keyBundle = new KeyBundle(k1); else if (k3 == null) keyBundle = new KeyBundle((KeyCodes)k2, k1); else keyBundle = new KeyBundle((KeyCodes)k3, (KeyCodes) k2, k1); var keyAction = new KeyAction(name, OnPress, new HashSet<KeyBundle>() { keyBundle }); keyAction.releaseAction = OnRelease; keyAction.holdAction = OnHold; processKeyActions.Add(keyAction, keyBundle); }