void BuildingFountain::deliverService() { ServiceWalkerPtr walker = ServiceWalker::create( BuildingPtr( this ), getService()); ServiceWalker::ReachedBuildings reachedBuildings = walker->getReachedBuildings( getTile().getIJ() ); for( ServiceWalker::ReachedBuildings::iterator itBuilding = reachedBuildings.begin(); itBuilding != reachedBuildings.end(); ++itBuilding) { (*itBuilding)->applyService( walker ); } }
void Well::deliverService() { ServiceWalkerPtr walker = ServiceWalker::create( _getCity(), getService() ); walker->setBase( BuildingPtr( this ) ); ServiceWalker::ReachedBuildings reachedBuildings = walker->getReachedBuildings( getTile().getIJ() ); foreach( BuildingPtr building, reachedBuildings) { building->applyService( walker ); }