void CartPusher::load( const VariantMap& stream ) { Walker::load( stream ); VariantMap vm_stock = stream.get( "stock" ).toMap(); _d->stock.load( vm_stock ); TilePos prPos( stream.get( "producerPos" ).toTilePos() ); Tile& prTile = Scenario::instance().getCity().getTilemap().at( prPos ); _d->producerBuilding = prTile.get_terrain().getOverlay().as<Building>(); TilePos cnsmPos( stream.get( "consumerPos" ).toTilePos() ); Tile& cnsmTile = Scenario::instance().getCity().getTilemap().at( cnsmPos ); _d->producerBuilding = prTile.get_terrain().getOverlay().as<Building>(); _d->maxDistance = stream.get( "maxDistance" ).toInt(); _d->reservationID = stream.get( "reservationID" ).toInt(); }
void CartPusher::load( const VariantMap& stream ) { Walker::load( stream ); _d->stock.load( stream.get( "stock" ).toList() ); TilePos prPos( stream.get( "producerPos" ).toTilePos() ); Tile& prTile = _getCity()->getTilemap().at( prPos ); _d->producerBuilding = prTile.getOverlay().as<Building>(); if( _d->producerBuilding.is<WorkingBuilding>() ) { _d->producerBuilding.as<WorkingBuilding>()->addWalker( this ); } TilePos cnsmPos( stream.get( "consumerPos" ).toTilePos() ); Tile& cnsmTile = _getCity()->getTilemap().at( cnsmPos ); _d->consumerBuilding = cnsmTile.getOverlay().as<Building>(); _d->maxDistance = stream.get( "maxDistance" ).toInt(); _d->reservationID = stream.get( "reservationID" ).toInt(); }