Пример #1
0
  @WebPostAction("Colony.giveUp")
  public void giveUp(CqsSession session, @Parameter("c") Position position) {
    if (session.isRestricted()) {
      session.log(ErrorCode.RESTRICTED_ACCESS);
      return;
    }
    Colony colony = session.getColony(position);
    HumanColonyController controller = (HumanColonyController) colony.getController();

    BuildingEnum[] buildings = BuildingEnum.values();
    // clear building queue
    if (colony.isBuildingInProgress()) colony.abortBuilding();
    controller.clearBuildingQueue();

    // put building removal in queue
    for (int i = 0; i < buildings.length; i++) {
      if ((buildings[i] != BuildingEnum.RESIDENCE) && (buildings[i] != BuildingEnum.UNIVERSITY)) {
        int j = colony.getBuilding(buildings[i]);
        if ((j > 0) && controller.addBuildingRemoval(buildings[i], j)) colony.resumeBuilding();
      }
    }
    int j = colony.getBuilding(BuildingEnum.UNIVERSITY);
    if ((j > 0) && controller.addBuildingRemoval(BuildingEnum.UNIVERSITY, j))
      colony.resumeBuilding();

    j = colony.getBuilding(BuildingEnum.RESIDENCE);
    if ((j > 0) && controller.addBuildingRemoval(BuildingEnum.RESIDENCE, j))
      colony.resumeBuilding();
  }