Exemple #1
0
        public void SetButtonState(MouseButtons button, ButtonState.States state)
        {
            var oldState = _buttonStates[button];

            _buttonStates[button] = new ButtonState(state == ButtonState.States.Down, oldState.IsClicked);

            OnButtonStateChanged?.Invoke(button, _buttonStates[button], oldState);
        }
        /// <summary>
        /// Updates all input information.
        /// </summary>
        internal void Refresh()
        {
            for (int i = 0; i < GamePad.MaximumGamePadCount; i++)
            {
                GamePadState currentState = GamePads[i] = GamePad.GetState(i);

                foreach (Buttons b in Enum.GetValues(typeof(Buttons)))
                {
                    ButtonState bs = currentState.IsButtonDown(b) ? ButtonState.Pressed : ButtonState.Released;

                    if (buttonStates[i][b] != bs)
                    {
                        buttonStates[i][b] = bs;
                        OnButtonStateChanged?.Invoke(i, b, bs);
                    }
                }
            }
        }
Exemple #3
0
 private void Press(int index, bool state) => OnButtonStateChanged?.Invoke(index, state);