DodongosQuest.User.GetUserInput C# (CSharp) Méthode

GetUserInput() private méthode

private GetUserInput ( GameTime gameTime ) : List
gameTime Microsoft.Xna.Framework.GameTime
Résultat List
        private List<Keys> GetUserInput(GameTime gameTime)
        {
            List<Keys> unhandledReleasedKeys = new List<Keys>();
            KeyboardState currentKeyboardState = Keyboard.GetState();

            foreach (Keys key in _keysOfInterest)
            {
                if (currentKeyboardState.IsKeyUp(key) && _heldKeys.ContainsKey(key))
                    _heldKeys.Remove(key);
                if (currentKeyboardState.IsKeyDown(key))
                {
                    if (_heldKeys.ContainsKey(key) == false)
                    {
                        unhandledReleasedKeys.Add(key);
                        _heldKeys.Add(key, gameTime.TotalGameTime);
                    }
                    else
                    {
                        TimeSpan timeOfLastTrigger = _heldKeys[key];
                        if (timeOfLastTrigger + _keyRepeatTime <= gameTime.TotalGameTime)
                        {
                            unhandledReleasedKeys.Add(key);
                            _heldKeys[key] = gameTime.TotalGameTime;
                        }
                    }
                }
            }

            _previousKeyboardState = currentKeyboardState;

            return unhandledReleasedKeys;
        }