private bool IsPressed(Buttons button, bool held)
{
var pressed = false;
if (!_mControllerIndexSet)
{
if (GamePad.GetState(PlayerIndex.One).IsConnected) pressed = pressed || IsPressed(button, held, PlayerIndex.One);
if (GamePad.GetState(PlayerIndex.Two).IsConnected) pressed = pressed || IsPressed(button, held, PlayerIndex.Two);
if (GamePad.GetState(PlayerIndex.Three).IsConnected) pressed = pressed || IsPressed(button, held, PlayerIndex.Three);
if (GamePad.GetState(PlayerIndex.Four).IsConnected) pressed = pressed || IsPressed(button, held, PlayerIndex.Four);
if(pressed) _mControllerIndexSet = true;
}
else pressed = pressed || IsPressed(button, held, ControllerIndex);
return pressed;
}