void Screen::HandleScreenMessage( const ScreenMessage SM ) { if( SM == SM_GoToNextScreen || SM == SM_GoToPrevScreen ) { if( SCREENMAN->IsStackedScreen(this) ) SCREENMAN->PopTopScreen( m_smSendOnPop ); else { RString ToScreen= (SM == SM_GoToNextScreen? GetNextScreenName():GetPrevScreen()); if(ToScreen == "") { LuaHelpers::ReportScriptError("Error: Tried to go to empty screen."); } else { SCREENMAN->SetNewScreen(ToScreen); } } } else if( SM == SM_GainFocus ) { if( REPEAT_RATE != -1.0f ) INPUTFILTER->SetRepeatRate( REPEAT_RATE ); if( REPEAT_DELAY != -1.0f ) INPUTFILTER->SetRepeatDelay( REPEAT_DELAY ); LIGHTSMAN->SetLightsMode( LIGHTS_MODE ); } else if( SM == SM_LoseFocus ) { INPUTFILTER->ResetRepeatRate(); } }
void ScreenSplash::HandleScreenMessage( const ScreenMessage SM ) { if( SM == SM_DoneFadingIn ) { if( PREPARE_SCREEN ) SCREENMAN->PrepareScreen( GetNextScreenName() ); } else if( SM == SM_MenuTimer ) { StartTransitioningScreen( SM_GoToNextScreen ); } ScreenWithMenuElements::HandleScreenMessage( SM ); }
void Screen::HandleScreenMessage( const ScreenMessage SM ) { if( SM == SM_GoToNextScreen || SM == SM_GoToPrevScreen ) { if( SCREENMAN->IsStackedScreen(this) ) SCREENMAN->PopTopScreen( m_smSendOnPop ); else SCREENMAN->SetNewScreen( SM == SM_GoToNextScreen? GetNextScreenName():GetPrevScreen() ); } else if( SM == SM_GainFocus ) { if( REPEAT_RATE != -1.0f ) INPUTFILTER->SetRepeatRate( REPEAT_RATE ); if( REPEAT_DELAY != -1.0f ) INPUTFILTER->SetRepeatDelay( REPEAT_DELAY ); LIGHTSMAN->SetLightsMode( LIGHTS_MODE ); } else if( SM == SM_LoseFocus ) { INPUTFILTER->ResetRepeatRate(); } }