public void render(Graphics2D g2, TilePlacement tilePlacement,
Location topLeftCorner, double radius) {
if (tilePlacement == null) return;
boolean isOddRow = tilePlacement.getLocation().getRow() % 2 == 1;
Location location =
tilePlacement.getLocation().decrementOnCopy(topLeftCorner);
double x = radius/2
+ ((location.getCol() - (isOddRow ? -0.25: -0.75)) * 2 * radius * HexUtil.ROOT3D2);
double y = radius/2 + TOP_MARGIN
+ ((location.getRow() + 0.6) * 3.0 * radius / 2.0);
Point point = new Point((int)x, (int)y);
drawHexagon(g2, point, radius);
pathRenderer.drawPath(g2, 0, tilePlacement, point, radius);
pathRenderer.drawPath(g2, 1, tilePlacement, point, radius);