Example #1
0
void Forum::timeStep( const unsigned long time )
{
  WalkerList walkers = getWalkerList();
  foreach( WalkerPtr walker, walkers )
  {
    if( walker->isDeleted() )
    {
      TaxCollectorPtr collector = walker.as< TaxCollector >();
      if( collector.isValid() )
      {
        _d->taxInThisMonth += collector->getMoney();
        _d->citizensReached += collector->getCitizensReachedCount();
      }
    }
  }

  Building::timeStep( time );
}
Example #2
0
void Forum::applyService(ServiceWalkerPtr walker)
{
  switch( walker->type() )
  {
  case walker::taxCollector:
  {
    TaxCollectorPtr txcl = ptr_cast<TaxCollector>( walker );
    if( txcl.isValid() )
    {
      float tax = txcl->takeMoney();;
      _d->taxValue += tax;
      Logger::warning( "Forum: collect money %f. All money %f", tax, _d->taxValue );
    }
  }
  break;

  default:
  break;
  }

  ServiceBuilding::applyService( walker );
}