Granary::Granary() { setType(B_GRANARY); setMaxWorkers(5); setWorkers(0); _size = 3; setPicture(PicLoader::instance().get_picture( ResourceGroup::commerce, 140)); _fgPictures.resize(6); // 1 upper level + 4 windows + animation int maxQty = 2400; _goodStore.setMaxQty(maxQty); _goodStore.setMaxQty(G_WHEAT, maxQty); _goodStore.setMaxQty(G_MEAT, maxQty); _goodStore.setMaxQty(G_FISH, maxQty); _goodStore.setMaxQty(G_FRUIT, maxQty); _goodStore.setMaxQty(G_VEGETABLE, maxQty); _goodStore.setCurrentQty(G_WHEAT, 300); _animation.load(ResourceGroup::commerce, 146, 7); // do the animation in reverse _animation.load(ResourceGroup::commerce, 151, 6); PicLoader& ldr = PicLoader::instance(); _fgPictures[0] = &ldr.get_picture( ResourceGroup::commerce, 141); _fgPictures[5] = _animation.getCurrentPicture(); computePictures(); }
void Warehouse::init() { _fgPictures[0] = &Picture::load(ResourceGroup::warehouse, 1); _fgPictures[1] = &Picture::load(ResourceGroup::warehouse, 18); _fgPictures[2] = _animation.getCurrentPicture(); _fgPictures[3] = _animFlag.getCurrentPicture(); // add subTiles in Z-order (from far to near) _subTiles.clear(); _subTiles.push_back( WarehouseTile( TilePos( 1, 2 ) )); _subTiles.push_back( WarehouseTile( TilePos( 0, 1 ) )); _subTiles.push_back( WarehouseTile( TilePos( 2, 2 ) )); _subTiles.push_back( WarehouseTile( TilePos( 1, 1 ) )); _subTiles.push_back( WarehouseTile( TilePos( 0, 0 ) )); _subTiles.push_back( WarehouseTile( TilePos( 2, 1 ) )); _subTiles.push_back( WarehouseTile( TilePos( 1, 0 ) )); _subTiles.push_back( WarehouseTile( TilePos( 2, 0 ) )); for (unsigned int n = 0; n<_subTiles.size(); ++n) { _fgPictures[n+4] = &_subTiles[n]._picture; } _goodStore.init(*this); GoodStock stock; stock._goodType = G_POTTERY; stock._currentQty = 300; _goodStore.store(stock, 300); computePictures(); }
void Granary::load( const VariantMap& stream) { WorkingBuilding::load(stream); _d->goodStore.load( stream.get( "goodStore" ).toMap() ); computePictures(); }
Granary::Granary() : WorkingBuilding( constants::building::granary, Size(3) ), _d( new Impl ) { _d->goodStore.granary = this; setPicture( ResourceGroup::commerce, 140 ); _fgPicturesRef().resize(6); // 1 upper level + 4 windows + animation _animationRef().load(ResourceGroup::commerce, 146, 7, Animation::straight); // do the animation in reverse _animationRef().load(ResourceGroup::commerce, 151, 6, Animation::reverse); _animationRef().setDelay( 4 ); _fgPicturesRef().at(0) = Picture::load( ResourceGroup::commerce, 141); _fgPicturesRef().at(5) = _animationRef().getFrame(); computePictures(); _d->devastateThis = false; }