modify Input() on screens to return boolean

This commit is contained in:
Devin J. Pohly
2013-01-12 22:48:38 -05:00
parent 79583090ac
commit d13ac7e7a2
98 changed files with 861 additions and 697 deletions
+13 -12
View File
@@ -36,13 +36,15 @@ void ScreenAttract::BeginScreen()
ScreenWithMenuElements::BeginScreen();
}
void ScreenAttract::Input( const InputEventPlus &input )
bool ScreenAttract::Input( const InputEventPlus &input )
{
bool handled;
// LOG->Trace( "ScreenAttract::Input()" );
AttractInput( input, this );
handled = AttractInput( input, this );
ScreenWithMenuElements::Input( input );
// Always run both AttractInput and ScreenWithMenuElements::Input
return ScreenWithMenuElements::Input( input ) || handled;
}
void ScreenAttract::SetAttractVolume( bool bInAttract )
@@ -68,10 +70,10 @@ void ScreenAttract::Cancel( ScreenMessage smSendWhenDone )
ScreenWithMenuElements::Cancel( smSendWhenDone );
}
void ScreenAttract::AttractInput( const InputEventPlus &input, ScreenWithMenuElements *pScreen )
bool ScreenAttract::AttractInput( const InputEventPlus &input, ScreenWithMenuElements *pScreen )
{
if( input.type != IET_FIRST_PRESS )
return; // don't care
return false; // don't care
switch( input.MenuI )
{
@@ -89,37 +91,36 @@ void ScreenAttract::AttractInput( const InputEventPlus &input, ScreenWithMenuEle
PREFSMAN->m_iCoinsPerCredit.Get(),
GAMESTATE->GetNumSidesJoined() );
if( GAMESTATE->m_iCoins < PREFSMAN->m_iCoinsPerCredit && GAMESTATE->GetNumSidesJoined() == 0 )
break; // don't fall through
return true;
// fall through
case CoinMode_Home:
case CoinMode_Free:
if( pScreen->IsTransitioning() )
return;
return false;
// HandleGlobalInputs() already played the coin sound. Don't play it again.
if( input.MenuI != GAME_BUTTON_COIN )
SCREENMAN->PlayStartSound();
pScreen->Cancel( SM_GoToStartScreen );
break;
return true;
default: FAIL_M("Invalid Coin Mode! Aborting...");
}
default: break;
}
if( pScreen->IsTransitioning() )
return;
return false;
switch( input.MenuI )
{
case GAME_BUTTON_LEFT:
case GAME_BUTTON_RIGHT:
SCREENMAN->PostMessageToTopScreen( SM_BeginFadingOut, 0 );
return true;
default:
break;
return false;
}
// Screen::Input( input );
}
void ScreenAttract::StartPlayingMusic()