private void setHighlights(bool on) { // early out if (logic.getTurn() == SIDE.TROLL) { return; } foreach (NEIGHBOUR n in Enum.GetValues(typeof(NEIGHBOUR))) { if (square.hasNeighbour(n)) { BoardPiece ep = (BoardPiece)square.getNeighbour(n); while (!ep.isOccupied()) { if (on) { ep.highlight(false); } else { ep.resetImage(); } if (ep.hasNeighbour(n)) { ep = (BoardPiece)ep.getNeighbour(n); } else { break; } } } } }