AbbeyCapability abbeyCap = game.getCapability(AbbeyCapability.class);
TowerCapability towerCap = game.getCapability(TowerCapability.class);
BridgeCapability bridgeCap = game.getCapability(BridgeCapability.class);
CastleCapability castleCap = game.getCapability(CastleCapability.class);
KingAndRobberBaronCapability kingRobberCap = game.getCapability(KingAndRobberBaronCapability.class);
ClothWineGrainCapability cwgCap = game.getCapability(ClothWineGrainCapability.class);
LittleBuildingsCapability lbCap = game.getCapability(LittleBuildingsCapability.class);
if (abbeyCap != null) {
drawMeepleBox(null, "abbey", abbeyCap.hasUnusedAbbey(player) ? 1 : 0, false);
}
if (towerCap != null) {
drawMeepleBox(null, "towerpiece", towerCap.getTowerPieces(player), true);
getMouseRegions().clear();
}
if (bridgeCap != null) {
drawMeepleBox(null, "bridge", bridgeCap.getPlayerBridges(player), true);
}
if (castleCap != null) {
drawMeepleBox(null, "castle", castleCap.getPlayerCastles(player), true);
}
if (lbCap != null) {
drawMeepleBox(null, "lb-tower", lbCap.getBuildingsCount(player, LittleBuilding.TOWER), true);
drawMeepleBox(null, "lb-house", lbCap.getBuildingsCount(player, LittleBuilding.HOUSE), true);
drawMeepleBox(null, "lb-shed", lbCap.getBuildingsCount(player, LittleBuilding.SHED), true);
}
if (kingRobberCap != null) {
if (kingRobberCap.getKing() == player) {
Rectangle r = drawMeepleBox(null, "king", 1, false, "king");
if ("king".equals(mouseOverKey)) {
g2.setFont(FONT_KING_ROBBER_OVERLAY);
g2.setColor(KING_ROBBER_OVERLAY);
g2.fillRect(r.x, r.y, r.width, r.height);
g2.setColor(Color.WHITE);
int size = kingRobberCap.getBiggestCitySize();
g2.drawString((size < 10 ? " " : "") + size, r.x+2, r.y+20);
g2.setFont(FONT_MEEPLE);
}
}
if (kingRobberCap.getRobberBaron() == player) {
Rectangle r = drawMeepleBox(null, "robber", 1, false, "robber");
if ("robber".equals(mouseOverKey)) {
g2.setFont(FONT_KING_ROBBER_OVERLAY);
g2.setColor(KING_ROBBER_OVERLAY);
g2.fillRect(r.x, r.y, r.width, r.height);
g2.setColor(Color.WHITE);
int size = kingRobberCap.getLongestRoadLength();
g2.drawString((size < 10 ? " " : "") + size, r.x+2, r.y+20);
g2.setFont(FONT_MEEPLE);
}
}
}