예제 #1
0
  private boolean isOverlapping(
      SafeCityPlayer scPlayer, ThinLocation lesserCorner, ThinLocation greaterCorner) {
    World world = scPlayer.getBukkitPlayer().getWorld();

    if (scPlayer.getZoneManager().isCreatingZone()) {
      for (SafeCityZone zone : context.getZones()) {
        if (context.isOverlap(
            lesserCorner, greaterCorner, zone.getLesserCorner(), zone.getGreaterCorner())) {
          return true;
        }
      }

      return false;
    } else if (scPlayer.getZoneManager().isCreatingSubZone()) {
      SafeCityZone parentZone =
          context.getZone(scPlayer.getZoneManager().getNewZoneLocation2(), world);

      for (SafeCitySubZone subZone : parentZone.getChildren()) {
        if (context.isOverlap(
            lesserCorner, greaterCorner, subZone.getLesserCorner(), subZone.getGreaterCorner())) {
          return true;
        }
      }
    }

    return false;
  }