public Terrain(Level l, GameData data, int x, int y) { super(l, data.getData("img"), x, y); this.level = l; highlights = new HashMap<String, TerrainHighlight>(); highlights.put( TerrainHighlight.Color.Blue, new TerrainHighlight(this, TerrainHighlight.Color.Blue)); highlights.put( TerrainHighlight.Color.Red, new TerrainHighlight(this, TerrainHighlight.Color.Red)); highlights.put( TerrainHighlight.Color.Green, new TerrainHighlight(this, TerrainHighlight.Color.Green)); highlights.put( TerrainHighlight.Color.Yellow, new TerrainHighlight(this, TerrainHighlight.Color.Yellow)); highlights.put( TerrainHighlight.Color.Magenta, new TerrainHighlight(this, TerrainHighlight.Color.Magenta)); highlights.put( TerrainHighlight.Color.Cyan, new TerrainHighlight(this, TerrainHighlight.Color.Cyan)); for (TerrainHighlight th : highlights.values()) { th.setVisibility(false); this.addChild(th); } passable = data.getData("Passable") != null && data.getData("Passable").getBoolean(); addClickHandler( new ClickHandler() { @Override public void onMouseClick(MouseClickInput e) { switch (level.getState()) { case UNIT_SELECTION: break; case ACTION_SELECTION: break; case ACTION_TARGET_SELECTION: level.getSelectedUnit().executeAction(getGridX(), getGridY()); break; case EXECUTING_ACTION: break; default: break; } } }); }
public void highlightOff() { for (TerrainHighlight th : highlights.values()) { th.setVisibility(false); } }