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 ); }
bool GameSingleStage::tryChangeState( GameState state ) { switch( state ) { case GS_END: saveReplay( LAST_REPLAY_NAME ); break; } return true; }
void ReplayBuilder::saveReplay(const char *filename) { saveReplay(getReplaysDir().c_str(), filename); }