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 ); }