add ScreenManager::LoadPreppedScreen.

This commit is contained in:
Glenn Maynard
2002-09-04 23:40:01 +00:00
parent c6f6a8c409
commit 28e837e242
3 changed files with 11 additions and 9 deletions
+9 -8
View File
@@ -241,14 +241,15 @@ Screen* ScreenManager::MakeNewScreen( CString sClassName )
void ScreenManager::PrepNewScreen( CString sClassName )
{
if(!sClassName.GetLength()) {
ASSERT( m_ScreenBuffered != NULL);
SetNewScreen( m_ScreenBuffered );
m_ScreenBuffered = NULL;
} else {
ASSERT(m_ScreenBuffered == NULL);
m_ScreenBuffered = MakeNewScreen(sClassName);
}
ASSERT(m_ScreenBuffered == NULL);
m_ScreenBuffered = MakeNewScreen(sClassName);
}
void ScreenManager::LoadPreppedScreen()
{
ASSERT( m_ScreenBuffered != NULL);
SetNewScreen( m_ScreenBuffered );
m_ScreenBuffered = NULL;
}
void ScreenManager::SetNewScreen( Screen *pNewScreen )
+1
View File
@@ -33,6 +33,7 @@ public:
void Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI );
void PrepNewScreen( CString sClassName );
void LoadPreppedScreen();
void SetNewScreen( CString sClassName );
void Prompt( ScreenMessage SM_SendWhenDone, CString sText, bool bYesNo = false, bool bDefaultAnswer = false, void(*OnYes)() = NULL, void(*OnNo)() = NULL );
void TextEntry( ScreenMessage SM_SendWhenDone, CString sQuestion, CString sInitialAnswer, void(*OnOK)(CString sAnswer) = NULL, void(*OnCanel)() = NULL );
+1 -1
View File
@@ -569,7 +569,7 @@ void ScreenStage::HandleScreenMessage( const ScreenMessage SM )
SCREENMAN->PrepNewScreen( "ScreenGameplay" );
break;
case SM_GoToNextScreen:
SCREENMAN->PrepNewScreen( "" ); /* use prepped */
SCREENMAN->LoadPreppedScreen(); /* use prepped */
break;
}
}