Package ch.fusun.baron.basic.turntask

Source Code of ch.fusun.baron.basic.turntask.CityIncomeTurnTask

package ch.fusun.baron.basic.turntask;

import ch.fusun.baron.city.City;
import ch.fusun.baron.city.api.CityService;
import ch.fusun.baron.core.injection.Configure;
import ch.fusun.baron.core.injection.Inject;
import ch.fusun.baron.player.Player;
import ch.fusun.baron.player.api.Country;
import ch.fusun.baron.player.api.PlayerService;
import ch.fusun.baron.property.api.PropertyService;
import ch.fusun.baron.treasury.api.TreasuryService;
import ch.fusun.baron.turn.TurnTask;

/**
* Calculates the income of the cities per player
*/
public class CityIncomeTurnTask implements TurnTask {

  @Configure(value = "10")
  private int MONEY_PER_CITY;
  @Inject
  private PlayerService playerService;
  @Inject
  private CityService cityService;
  @Inject
  private TreasuryService treasuryService;
  @Inject
  private PropertyService propertyService;

  @Override
  public void execute() {
    for (City city : cityService.getCities()) {
      Country country = (Country) propertyService
          .getOwnership(cityService.getLocation(city));
      Player owner = (Player) propertyService.getOwnership(country);
      treasuryService.addMoney(playerService.getDynasty(owner),
          MONEY_PER_CITY * city.getPopulation());
    }
  }

TOP

Related Classes of ch.fusun.baron.basic.turntask.CityIncomeTurnTask

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.