/// <summary>
        /// Prevents a default instance of the <see cref="GamepadState"/> class from being created.
        /// </summary>
        public GamepadState()
        {
            _prevState    = new GamepadReportedState();
            _currentState = new GamepadReportedState();

            this.Internals = new GamepadStateInternals(this);
        }
 public void NotifyState(GamepadReportedState controllerState)
 {
     _host.NotifyState(controllerState);
 }
 internal void NotifyState(GamepadReportedState controllerState)
 {
     _prevState    = _currentState;
     _currentState = controllerState;
 }