public void explainSecondarySelection(LocalPlayer player, LocalSession session, Vector pos) { player.print("Added point #" + region.size() + " at " + pos + "."); session.dispatchCUIEvent(player, new SelectionPoint2DEvent(region.size() - 1, pos, getArea())); session.dispatchCUIEvent( player, new SelectionMinMaxEvent(region.getMinimumY(), region.getMaximumY())); }
public void explainPrimarySelection(LocalPlayer player, LocalSession session, Vector pos) { player.print("Starting a new polygon at " + pos + "."); session.dispatchCUIEvent(player, new SelectionShapeEvent(getTypeID())); session.dispatchCUIEvent(player, new SelectionPoint2DEvent(0, pos, getArea())); session.dispatchCUIEvent( player, new SelectionMinMaxEvent(region.getMinimumY(), region.getMaximumY())); }
public void describeCUI(LocalSession session, LocalPlayer player) { final List<BlockVector2D> points = region.getPoints(); for (int id = 0; id < points.size(); id++) { session.dispatchCUIEvent(player, new SelectionPoint2DEvent(id, points.get(id), getArea())); } session.dispatchCUIEvent( player, new SelectionMinMaxEvent(region.getMinimumY(), region.getMaximumY())); }
public boolean selectPrimary(Vector pos) { if (pos.equals(pos1)) { return false; } pos1 = pos.toBlockVector(); region = new Polygonal2DRegion(region.getWorld()); region.addPoint(pos); region.expandY(pos.getBlockY()); return true; }
public boolean selectSecondary(Vector pos) { if (region.size() > 0) { final List<BlockVector2D> points = region.getPoints(); final BlockVector2D lastPoint = points.get(region.size() - 1); if (lastPoint.getBlockX() == pos.getBlockX() && lastPoint.getBlockZ() == pos.getBlockZ()) { return false; } if (maxPoints >= 0 && points.size() > maxPoints) { return false; } } region.addPoint(pos); region.expandY(pos.getBlockY()); return true; }
public int getPointCount() { return region.getPoints().size(); }
public int getArea() { return region.getArea(); }
public List<String> getInformationLines() { return Collections.singletonList("# points: " + region.size()); }
public void clear() { pos1 = null; region = new Polygonal2DRegion(region.getWorld()); }
public void learnChanges() { BlockVector2D pt = region.getPoints().get(0); pos1 = new BlockVector(pt.getBlockX(), region.getMinimumPoint().getBlockY(), pt.getBlockZ()); }
public boolean isDefined() { return region.size() > 2; }