fix ScreenSelectCharacter timer

This commit is contained in:
Glenn Maynard
2004-05-08 06:42:23 +00:00
parent ccbe03e14e
commit 282e502e6d
4 changed files with 28 additions and 18 deletions
+14 -14
View File
@@ -200,17 +200,14 @@ void ScreenSelectCharacter::HandleScreenMessage( const ScreenMessage SM )
{
case SM_BeginFadingOut:
StartTransitioning( SM_GoToNextScreen );
break;
return;
case SM_MenuTimer:
MenuStart(PLAYER_1);
break;
case SM_GoToPrevScreen:
SCREENMAN->SetNewScreen( PREV_SCREEN );
break;
case SM_GoToNextScreen:
SCREENMAN->SetNewScreen( NEXT_SCREEN );
break;
if( !AllAreFinishedChoosing() )
ResetTimer();
return;
}
Screen::HandleScreenMessage( SM );
}
PlayerNumber ScreenSelectCharacter::GetAffectedPlayerNumber( PlayerNumber pn )
@@ -336,6 +333,14 @@ void ScreenSelectCharacter::Move( PlayerNumber pn, int deltaValue )
}
}
bool ScreenSelectCharacter::AllAreFinishedChoosing() const
{
FOREACH_HumanPlayer( p )
if( m_SelectionRow[p] != FINISHED_CHOOSING )
return false;
return true;
}
void ScreenSelectCharacter::MenuStart( PlayerNumber pn )
{
if( m_SelectionRow[pn] == FINISHED_CHOOSING )
@@ -357,12 +362,7 @@ void ScreenSelectCharacter::MenuStart( PlayerNumber pn )
AfterValueChange(pn);
SCREENMAN->PlayStartSound();
bool bAllAreFinished = true;
for( int p=0; p<NUM_PLAYERS; p++ )
if( GAMESTATE->IsHumanPlayer(p) )
bAllAreFinished &= (m_SelectionRow[p] == FINISHED_CHOOSING);
if( bAllAreFinished )
if( AllAreFinishedChoosing() )
{
for( int p=0; p<NUM_PLAYERS; p++ )
{