Пример #1
0
bool GameSingleStage::onEvent( int event , int id , GWidget* ui )
{
	switch ( id )
	{
	case UI_PAUSE_GAME : 
		togglePause(); 
		return false;
	case UI_GAME_MENU:
		if ( event == EVT_BOX_YES )
		{
			saveReplay( LAST_REPLAY_NAME );
			getManager()->changeStage( STAGE_GAME_MENU );
			return true;
		}
		else if ( event == EVT_BOX_NO )
		{
			togglePause();
			return false;
		}
		else
		{
			togglePause();
			::Global::getGUI().showMessageBox( UI_GAME_MENU , LAN("Back Game Menu?") );
			return false;
		}
		break;

	case UI_RESTART_GAME:
		if ( event == EVT_BOX_YES )
		{
			restart( false ); 
			return false;
		}
		else if ( event == EVT_BOX_NO )
		{

		}
		else
		{
			if ( getState() != GS_END )
			{
				::Global::getGUI().showMessageBox( 
					UI_RESTART_GAME , LAN("Do you Want to Stop Current Game?") );
			}
			else
			{
				restart( false ); 
			}
			return false;

		}
		break;
	}

	return BaseClass::onEvent( event , id , ui );
}
Пример #2
0
bool GameSingleStage::tryChangeState( GameState state )
{
	switch( state )
	{
	case GS_END:
		saveReplay( LAST_REPLAY_NAME );
		break;
	}
	return true;
}
Пример #3
0
void ReplayBuilder::saveReplay(const char *filename) {
  saveReplay(getReplaysDir().c_str(), filename);
}