void RaceManager::next() { World::deleteWorld(); m_num_finished_karts = 0; m_num_finished_players = 0; m_track_number++; if(m_track_number<(int)m_tracks.size()) { if(m_major_mode==MAJOR_MODE_GRAND_PRIX && !NetworkWorld::getInstance()->isRunning()) { //Saving GP state //We look if Player 1 has already saved this GP. SavedGrandPrix* gp = SavedGrandPrix::getSavedGP(StateManager::get() ->getActivePlayerProfile(0) ->getUniqueID(), m_grand_prix.getId(), m_difficulty, m_num_karts, m_player_karts.size()); if(gp != NULL) { //if so addept it gp->setKarts(m_kart_status); gp->setNextTrack(m_track_number); } else { //create a new entry UserConfigParams::m_saved_grand_prix_list.push_back( new SavedGrandPrix( StateManager::get()->getActivePlayerProfile(0) ->getUniqueID(), m_grand_prix.getId(), m_difficulty, m_player_karts.size(), m_track_number, m_kart_status ) ); } user_config->saveConfig(); } startNextRace(); } else { exitRace(); } } // next
/** \brief Start the next race or go back to the start screen * If there are more races to do, starts the next race, otherwise * calls exitRace to finish the race. */ void RaceManager::next() { PropertyAnimator::get()->clear(); World::deleteWorld(); m_num_finished_karts = 0; m_num_finished_players = 0; m_track_number++; if(m_track_number<(int)m_tracks.size()) { if( m_major_mode==MAJOR_MODE_GRAND_PRIX && !RaceEventManager::getInstance()->isRunning() ) { // Saving GP state saveGP(); } startNextRace(); } else { exitRace(); } } // next