Пример #1
0
void ServiceBuilding::timeStep(const unsigned long time)
{
   Building::timeStep(time);

   Walkers::iterator it=_walkerList.begin();
   while( it != _walkerList.end() )
   {
     if( (*it)->isDeleted() )
     {
        it = _walkerList.erase( it );
     }
     else
     {
       it++;
     }
   }

   if (_serviceTimer == 0)
   {
      deliverService();
      _serviceTimer = getServiceDelay();
   }
   else if (_serviceTimer > 0)
   {
      _serviceTimer -= 1;
   }

   _animation.update( time );
   Picture *pic = _animation.getCurrentPicture();
   if (pic != NULL)
   {
      int level = _fgPictures.size()-1;
      _fgPictures[level] = _animation.getCurrentPicture();
   }
}
Пример #2
0
void ServiceBuilding::timeStep(const unsigned long time)
{
   WorkingBuilding::timeStep(time);   

   if (_d->serviceTimer == 0)
   {
      deliverService();
      _d->serviceTimer = getServiceDelay();
   }
   else if (_d->serviceTimer > 0)
   {
      _d->serviceTimer -= 1;
   }

   _getAnimation().update( time );
   const Picture& pic = _getAnimation().getCurrentPicture();
   if( pic.isValid() )
   {
      int level = _fgPictures.size()-1;
      _fgPictures[level] = _getAnimation().getCurrentPicture();
   }
}
Пример #3
0
void ServiceBuilding::timeStep(const unsigned long time)
{
   Building::timeStep(time);

   if (_serviceTimer == 0)
   {
      deliverService();
      _serviceTimer = _serviceDelay;
   }
   else if (_serviceTimer > 0)
   {
      _serviceTimer -= 1;
   }

   _animation.nextFrame();
   Picture *pic = _animation.get_current_picture();
   if (pic != NULL)
   {
      int level = _fgPictures.size()-1;
      _fgPictures[level] = _animation.get_current_picture();
   }
}