void Screen::newScenario() { ScenarioInfo info( this ); if( info.exec() ) { reinit(); theMap->newMap( info.getMapHeight(), info.getMapWidth() ); _players.clear(); setScenarioName( info.getName() ); setScenarioTheme( info.getTheme() ); setScenarioDescription( info.getDescription() ); setNbPlayer( info.getNbPlayer() ); for( uint i = 0; i < info.getNbPlayer(); i++ ) { GenericPlayer * player = new GenericPlayer( theMap ); player->setNum( i ); _players.append( player ); } } }
bool Screen::newScenario() { bool ret = false; ScenarioInfo info( this ); if( info.exec() ) { ret = true; reinit(); theMap->newUnknownMap( info.getMapHeight(), info.getMapWidth() ); _players.clear(); setScenarioName( info.getName() ); setScenarioTheme( info.getTheme() ); setScenarioDescription( info.getDescription() ); setNbPlayer( info.getNbPlayer() ); setDateByType( 0, info.getDay() > 0 ? info.getDay() : 1 ); setDateByType( 1, 1 ); setDateByType( 2, info.getWeek() > 0 ? info.getWeek() : 1 ); setDateByType( 3, info.getMonth() > 0 ? info.getMonth() : 1); setDateByType( 4, info.getYear() > 0 ? info.getYear() : 1044); for( uint i = 0; i < info.getNbPlayer(); i++ ) { GenericPlayer * player = new GenericPlayer( theMap ); player->setNum( i ); player->setName( QString("Player %1").arg(i) ); _players.append( player ); } emit sig_redrawMap( theMap ); emit sig_enableGame( true ); //HACK to workaround some widget problems _miniMap->slot_mapviewResized( _view->width() / theMap->width(), _view->height() / theMap->height() ); layout()->update(); } return ret; }