Close debug menu whenever screen is changed

This commit is contained in:
Benau
2019-02-04 16:13:14 +08:00
parent 538911b25f
commit 5bc8002caa
4 changed files with 14 additions and 0 deletions

View File

@@ -24,6 +24,7 @@
#include "guiengine/screen_keyboard.hpp"
#include "guiengine/screen.hpp"
#include "input/device_manager.hpp"
#include "utils/debug.hpp"
#include <vector>
#include <iostream>
@@ -55,6 +56,8 @@ void AbstractStateManager::enterGameState()
if (getCurrentScreen() != NULL) getCurrentScreen()->tearDown();
m_menu_stack.clear();
m_menu_stack.emplace_back(RACE_STATE_NAME, (Screen*)NULL);
Debug::closeDebugMenu();
setGameState(GAME);
GUIEngine::cleanForGame();
} // enterGameState

View File

@@ -683,6 +683,7 @@ namespace GUIEngine
#include "modes/cutscene_world.hpp"
#include "modes/world.hpp"
#include "states_screens/race_gui_base.hpp"
#include "utils/debug.hpp"
#include <iostream>
#include <assert.h>
@@ -911,6 +912,7 @@ namespace GUIEngine
return;
}
Debug::closeDebugMenu();
g_current_screen->beforeAddingWidget();
// show screen

View File

@@ -1098,4 +1098,12 @@ bool isOpen()
return g_debug_menu_visible;
} // isOpen
// ----------------------------------------------------------------------------
/** Close the debug menu.
*/
void closeDebugMenu()
{
g_debug_menu_visible = false;
} // closeDebugMenu
} // namespace Debug

View File

@@ -27,6 +27,7 @@ namespace Debug
{
bool onEvent(const irr::SEvent &event);
bool isOpen();
void closeDebugMenu();
bool handleStaticAction(int key);
}