package wecui.render.region; import java.util.ArrayList; import java.util.List; import wecui.WorldEditCUI; import wecui.render.LineColor; import wecui.render.points.PointRectangle; import wecui.render.shapes.Render2DBox; import wecui.render.shapes.Render2DGrid; /** * Main controller for a polygon-type region * * @author yetanotherx * @author lahwran */ public class PolygonRegion extends BaseRegion { protected List<PointRectangle> points = new ArrayList<PointRectangle>(); protected int min; protected int max; public PolygonRegion(WorldEditCUI controller) { super(controller); } @Override public void render() { if (points == null) { return; } for (PointRectangle point : points) { point.render(min, max); } new Render2DBox(LineColor.POLYBOX, points, min, max).render(); new Render2DGrid(LineColor.POLYGRID, points, min, max).render(); } @Override public void setMinMax(int min, int max) { this.min = min; this.max = max; } @Override public void setPolygonPoint(int id, int x, int z) { PointRectangle point = new PointRectangle(x, z); point.setColor(LineColor.POLYPOINT); if (id < points.size()) { points.set(id, point); } else { for (int i = 0; i < id - points.size(); i++) { points.add(null); } points.add(point); } } @Override public RegionType getType() { return RegionType.POLYGON; } }