Rewrote ScreenSystemOverlay overlay/default.lua to be able to display multiple messages. Added Reload Overlay Screens option to debug menu.

This commit is contained in:
Kyzentun
2014-08-02 00:38:19 -07:00
committed by Jonathan Payne
parent a74a49af78
commit 1f979fff5f
6 changed files with 191 additions and 23 deletions
+13
View File
@@ -242,6 +242,7 @@ ScreenManager::ScreenManager()
g_pSharedBGA = new Actor;
m_bReloadOverlayScreensAfterInput= false;
m_bZeroNextUpdate = false;
m_PopTopScreen = SM_Invalid;
m_OnDonePreparingScreen = SM_Invalid;
@@ -330,6 +331,11 @@ void ScreenManager::ReloadOverlayScreens()
this->RefreshCreditsMessages();
}
void ScreenManager::ReloadOverlayScreensAfterInputFinishes()
{
m_bReloadOverlayScreensAfterInput= true;
}
Screen *ScreenManager::GetTopScreen()
{
if( g_ScreenStack.empty() )
@@ -514,7 +520,14 @@ void ScreenManager::Input( const InputEventPlus &input )
// because anybody setting an input callback is probably doing it to
// do something in addition to whatever the screen does.
if(pScreen->PassInputToLua(input) || handled)
{
if(m_bReloadOverlayScreensAfterInput)
{
ReloadOverlayScreens();
m_bReloadOverlayScreensAfterInput= false;
}
return;
}
}
// Pass input to the topmost screen. If we have a new top screen pending, don't