mirror of
https://github.com/OpenMW/openmw.git
synced 2025-11-02 19:56:41 +00:00
Controller menus: don't wrap focus when only two buttons
This commit is contained in:
parent
4c5db612f0
commit
c9ce93a22f
1 changed files with 22 additions and 18 deletions
|
|
@ -456,27 +456,31 @@ namespace MWGui
|
||||||
}
|
}
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_DPAD_LEFT)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_DPAD_LEFT)
|
||||||
{
|
{
|
||||||
if (mButtons.size() > 1)
|
if (mButtons.size() <= 1)
|
||||||
{
|
return true;
|
||||||
mButtons[mControllerFocus]->setStateSelected(false);
|
if (mButtons.size() == 2 && mControllerFocus == 0)
|
||||||
if (mControllerFocus == 0)
|
return true;
|
||||||
mControllerFocus = mButtons.size() - 1;
|
|
||||||
else
|
mButtons[mControllerFocus]->setStateSelected(false);
|
||||||
mControllerFocus--;
|
if (mControllerFocus == 0)
|
||||||
mButtons[mControllerFocus]->setStateSelected(true);
|
mControllerFocus = mButtons.size() - 1;
|
||||||
}
|
else
|
||||||
|
mControllerFocus--;
|
||||||
|
mButtons[mControllerFocus]->setStateSelected(true);
|
||||||
}
|
}
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_DPAD_RIGHT)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_DPAD_RIGHT)
|
||||||
{
|
{
|
||||||
if (mButtons.size() > 1)
|
if (mButtons.size() <= 1)
|
||||||
{
|
return true;
|
||||||
mButtons[mControllerFocus]->setStateSelected(false);
|
if (mButtons.size() == 2 && mControllerFocus == mButtons.size() - 1)
|
||||||
if (mControllerFocus == mButtons.size() - 1)
|
return true;
|
||||||
mControllerFocus = 0;
|
|
||||||
else
|
mButtons[mControllerFocus]->setStateSelected(false);
|
||||||
mControllerFocus++;
|
if (mControllerFocus == mButtons.size() - 1)
|
||||||
mButtons[mControllerFocus]->setStateSelected(true);
|
mControllerFocus = 0;
|
||||||
}
|
else
|
||||||
|
mControllerFocus++;
|
||||||
|
mButtons[mControllerFocus]->setStateSelected(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue