20 package net.sf.gridarta.gui.map.renderer;
22 import java.awt.Color;
23 import java.awt.Graphics;
24 import java.awt.Graphics2D;
25 import java.awt.Point;
26 import javax.swing.Icon;
41 import org.jetbrains.annotations.NotNull;
58 private final Color @NotNull []
highLightMask = {
new Color(1.0f, 0.0f, 0.0f, 0.33f),
new Color(0.0f, 1.0f, 0.0f, 0.33f),
new Color(0.0f, 1.0f, 1.0f, 0.33f), };
84 private final int @NotNull []
xPoints =
new int[4];
89 private final int @NotNull []
yPoints =
new int[4];
95 private final Point
point =
new Point();
119 public IsoMapRenderer(
final int spawnPointTypeNo, @NotNull
final MapViewSettings mapViewSettings, @NotNull
final FilterControl<G, A, R> filterControl, @NotNull
final MapModel<G, A, R> mapModel, @NotNull
final MapGrid mapGrid, @NotNull
final MultiPositionData multiPositionData, @NotNull
final IsoMapSquareInfo isoMapSquareInfo, @NotNull
final GridMapSquarePainter gridMapSquarePainter, @NotNull
final GameObjectParser<G, A, R> gameObjectParser, @NotNull
final ResourceIcons resourceIcons) {
120 super(
spawnPointTypeNo,
mapViewSettings,
mapModel,
mapGrid,
isoMapSquareInfo.
getXLen(), 2 *
isoMapSquareInfo.
getYLen(),
multiPositionData,
isoMapSquareInfo,
gridMapSquarePainter, gameObjectParser, resourceIcons.getResourceIcon(
ResourceIcons.
SQUARE_UNKNOWN));
145 point.setLocation(square.getMapX(), square.getMapY());
147 int highestSubLayer = 0;
148 for (
int subLayer = 0; subLayer < yOffsets.length; subLayer++) {
149 if (yOffsets[subLayer] < yOffsets[highestSubLayer]) {
150 highestSubLayer = subLayer;
154 if (square.isEmpty()) {
157 for (
final G node : square) {
160 final G head = node.getHead();
163 subLayer = highestSubLayer;
171 for (
int subLayer = 0; subLayer < yOffsets.length; subLayer++) {
178 final Color color = g.getColor();
184 yPoints[0] = y + yOffsets[subLayer];