示例#1
0
 private void PressSomeKey(KeyCode keyCode)
 {
     if (keyCode == COMBINED_KEY_CODE)
     {
         if (combineKey)
         {
             return;
         }
         combineKey = true;
     }
     else
     {
         KeyCollection keyCollection = new KeyCollection();
         if (combineKey)
         {
             keyCollection.keyCodes.Add(COMBINED_KEY_CODE);
             keyCollection.keyCodes.Add(keyCode);
             SomeKeyPressd?.Invoke(keyCollection);
             combineKey = false;
         }
         else
         {
             keyCollection.keyCodes.Add(keyCode);
             SomeKeyPressd?.Invoke(keyCollection);
             combineKey = false;
         }
     }
 }
示例#2
0
        public void AddKeyMapper(GameKeyCode gkCode, KeyCollection kc)
        {
            if (gameKeyMapper.ContainsValue(kc))
            {
                GameKeyCode neededDelKey = GameKeyCode.INVALID;
                foreach (var kpl in gameKeyMapper)
                {
                    if (kpl.Value == kc)
                    {
                        neededDelKey = kpl.Key;
                        break;
                    }
                }
                gameKeyMapper.Remove(neededDelKey);
            }

            if (gameKeyMapper.ContainsKey(gkCode))
            {
                gameKeyMapper[gkCode] = kc;
            }
            else
            {
                gameKeyMapper.Add(gkCode, kc);
            }
        }
示例#3
0
        public KeyCollection GetKeyCollections()
        {
            KeyCollection kc = new KeyCollection();

            foreach (var key in Keys)
            {
                kc.keyCodes.Add(key.KeyCode);
            }
            return(kc);
        }