Example #1
0
        private Ability ResolveAbility(IList <KeyValuePair <KeyCode, Ability> > keyMappings)
        {
            foreach (KeyValuePair <KeyCode, Ability> keyToAbility in keyMappings)
            {
                if (keyToAbility.Key == KeyCode.None)
                {
                    continue;
                }

                if (Input.GetKeyDown(keyToAbility.Key)                 // osnowatodo || _contextManager.Current.SimulatedKeyDown == keyToAbility.Key
                    ||
                    (keyToAbility.Value.AllowRepeatingInput && _inputWithRepeating.KeyDownOrRepeating(keyToAbility.Key)))
                {
                    if (keyToAbility.Value.Decision == Decision.Custom0)
                    {
                        return(Input.GetKey(KeyCode.LeftControl) ? keyToAbility.Value : null);
                    }
                    else
                    {
                        return(keyToAbility.Value);
                    }
                }
            }
            return(null);
        }
Example #2
0
 private Position ReadDirection()
 {
     if (_inputWithRepeating.KeyDownOrRepeating(KeyCode.Keypad1) || _inputWithRepeating.KeyDownOrRepeating(KeyCode.M))
     {
         return(new Position(-1, -1));
     }
     if (_inputWithRepeating.KeyDownOrRepeating(KeyCode.Keypad2) || _inputWithRepeating.KeyDownOrRepeating(KeyCode.Comma) || _inputWithRepeating.KeyDownOrRepeating(KeyCode.DownArrow))
     {
         return(new Position(0, -1));
     }
     if (_inputWithRepeating.KeyDownOrRepeating(KeyCode.Keypad3) || _inputWithRepeating.KeyDownOrRepeating(KeyCode.Period))
     {
         return(new Position(1, -1));
     }
     if (_inputWithRepeating.KeyDownOrRepeating(KeyCode.Keypad4) || _inputWithRepeating.KeyDownOrRepeating(KeyCode.J) || _inputWithRepeating.KeyDownOrRepeating(KeyCode.LeftArrow))
     {
         return(new Position(-1, 0));
     }
     if (_inputWithRepeating.KeyDownOrRepeating(KeyCode.Keypad6) || _inputWithRepeating.KeyDownOrRepeating(KeyCode.L) || _inputWithRepeating.KeyDownOrRepeating(KeyCode.RightArrow))
     {
         return(new Position(1, 0));
     }
     if (_inputWithRepeating.KeyDownOrRepeating(KeyCode.Keypad7) || _inputWithRepeating.KeyDownOrRepeating(KeyCode.U))
     {
         return(new Position(-1, 1));
     }
     if (_inputWithRepeating.KeyDownOrRepeating(KeyCode.Keypad8) || _inputWithRepeating.KeyDownOrRepeating(KeyCode.I) || _inputWithRepeating.KeyDownOrRepeating(KeyCode.UpArrow))
     {
         return(new Position(0, 1));
     }
     if (_inputWithRepeating.KeyDownOrRepeating(KeyCode.Keypad9) || _inputWithRepeating.KeyDownOrRepeating(KeyCode.O))
     {
         return(new Position(1, 1));
     }
     if (_inputWithRepeating.KeyDownOrRepeating(KeyCode.Escape))
     {
         return(Position.MinValue);
     }
     return(Position.Zero);
 }