public void AddExtKeyEmulator(MExtKey key) { foreach (var kk in key.ResolveKeys()) { var ks = kk.ToString(); if (!AllGates.ContainsKey(ks)) { AllGates[ks] = new HashSet <MExtKey>(); } AllGates[ks].Add(key); } }
public void AddUpdatedKey(KeyInputController input, BlockBehaviour extLogic, MExtKey key) { //foreach (var kk in key.UpdatedKeyCodes) // input.AddMKey(extLogic, key, (KeyCode)kk.Value); // force add BOTH old key AND message key.SetUseMessage(false); foreach (var kk in key.ResolveKeys().Where(x => x.IsKey)) { input.AddMKey(extLogic, key, kk.Key); } key.SetUseMessage(true); input.AddMKey(extLogic, key, KeyCode.None); key.RestoreSavedUseMessage(); }