Beispiel #1
0
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();
}
Beispiel #2
0
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();
}
Beispiel #3
0
void Granary::load( const VariantMap& stream)
{
   WorkingBuilding::load(stream);

   _d->goodStore.load( stream.get( "goodStore" ).toMap() );

   computePictures();
}
Beispiel #4
0
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;  
}