@Override
  public void doAction(BuildingStateContext context) {
    // are there enough resources to finish construction ?

    boolean test = building.hasResourcesAvailable(requiredResources);
    if (test) {
      context.switchState(BuildingState.IDLE);
    } else {
      //			//update the required resources
      int[] requirement = new int[requiredResources.length];
      for (int key = 0; key < requiredResources.length; key++) {
        int required = requiredResources[key] - building.getAvailableResources(key);
        if (required > 0) {
          requiredResources[key] = required;
        }
      }
      //			building.setRequiredResources(requiredResources);
    }
  }