@Override
	public void tileFocusChangedAt(Position p) {

		// check if a tile was clicked
		Unit u = game.getUnitAt(p);
		City c = game.getCityAt(p);

		if (c != null) {
			CleanCityUI();

			ImageFigure productionFig = new ImageFigure(c.getWorkforceFocus(),
					new Point(GfxConstants.WORKFORCEFOCUS_X,
							GfxConstants.WORKFORCEFOCUS_Y));
			
			ImageFigure shieldFig = new ImageFigure(
					c.getOwner() == Player.RED ? GfxConstants.RED_SHIELD
							: GfxConstants.BLUE_SHIELD, new Point(
							GfxConstants.CITY_SHIELD_X,
							GfxConstants.CITY_SHIELD_Y));

			ImageFigure prodFig = new ImageFigure(c.getProduction(), new Point(
							GfxConstants.CITY_PRODUCTION_X,
							GfxConstants.CITY_PRODUCTION_Y));

			add(productionFig);
			add(shieldFig);
			add(prodFig);
			
		} else if (u != null) {
			CleanUnitUI();

			ImageFigure shieldFig = new ImageFigure(
					u.getOwner() == Player.RED ? GfxConstants.RED_SHIELD
							: GfxConstants.BLUE_SHIELD, new Point(
							GfxConstants.UNIT_SHIELD_X,
							GfxConstants.UNIT_SHIELD_Y));
			
			TextFigure movesFig = new TextFigure(u.getMoveCount() + "", new Point(GfxConstants.UNIT_COUNT_X, GfxConstants.UNIT_COUNT_Y));
			
			add(shieldFig);
			add(movesFig);
			
			
		} else {
			
			CleanCityUI();
			CleanUnitUI();

		}

	}