mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-03-12 13:13:27 +00:00
Refactor main menu and settings toggling again
This commit is contained in:
parent
1e4bbe8997
commit
ca83b9ee90
@ -1149,18 +1149,14 @@ namespace MWInput
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool state = MWBase::Environment::get().getStateManager()->getState() == MWBase::StateManager::State_NoGame;
|
bool inGame = MWBase::Environment::get().getStateManager()->getState() != MWBase::StateManager::State_NoGame;
|
||||||
MWGui::GuiMode mode = MWBase::Environment::get().getWindowManager()->getMode();
|
MWGui::GuiMode mode = MWBase::Environment::get().getWindowManager()->getMode();
|
||||||
|
|
||||||
if (mode == MWGui::GM_MainMenu || mode == MWGui::GM_Settings)
|
if ((inGame && mode == MWGui::GM_MainMenu) || mode == MWGui::GM_Settings)
|
||||||
{
|
|
||||||
MWBase::Environment::get().getWindowManager()->popGuiMode();
|
MWBase::Environment::get().getWindowManager()->popGuiMode();
|
||||||
}
|
|
||||||
|
|
||||||
if(state || mode == MWGui::GM_MainMenu)
|
if (inGame && mode != MWGui::GM_MainMenu)
|
||||||
return;
|
MWBase::Environment::get().getWindowManager()->pushGuiMode(MWGui::GM_MainMenu);
|
||||||
|
|
||||||
MWBase::Environment::get().getWindowManager()->pushGuiMode(MWGui::GM_MainMenu);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void InputManager::toggleOptionsMenu()
|
void InputManager::toggleOptionsMenu()
|
||||||
@ -1172,20 +1168,13 @@ namespace MWInput
|
|||||||
}
|
}
|
||||||
|
|
||||||
MWGui::GuiMode mode = MWBase::Environment::get().getWindowManager()->getMode();
|
MWGui::GuiMode mode = MWBase::Environment::get().getWindowManager()->getMode();
|
||||||
bool state = MWBase::Environment::get().getStateManager()->getState() == MWBase::StateManager::State_NoGame;
|
bool inGame = MWBase::Environment::get().getStateManager()->getState() != MWBase::StateManager::State_NoGame;
|
||||||
if (mode == MWGui::GM_Settings)
|
|
||||||
{
|
|
||||||
MWBase::Environment::get().getWindowManager()->popGuiMode();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
else if (mode == MWGui::GM_MainMenu && !state)
|
|
||||||
{
|
|
||||||
MWBase::Environment::get().getWindowManager()->popGuiMode();
|
|
||||||
}
|
|
||||||
else if (mode == MWGui::GM_MainMenu)
|
|
||||||
return;
|
|
||||||
|
|
||||||
MWBase::Environment::get().getWindowManager()->pushGuiMode(MWGui::GM_Settings);
|
if ((inGame && mode == MWGui::GM_MainMenu) || mode == MWGui::GM_Settings)
|
||||||
|
MWBase::Environment::get().getWindowManager()->popGuiMode();
|
||||||
|
|
||||||
|
if (inGame && mode != MWGui::GM_Settings)
|
||||||
|
MWBase::Environment::get().getWindowManager()->pushGuiMode(MWGui::GM_Settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
void InputManager::quickLoad() {
|
void InputManager::quickLoad() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user