@Override
	public void mouseMoved(MouseEvent event) {
		
		try {
			Game game = Game.getInstance();
			RealPlayer realPlayer = (RealPlayer)game.getPlayerManager().getRealPlayer();

			if (realPlayer.isBuildingTower()) {
				boolean acceptBuildTower = false;
				
				int numArea = game.getMapManager().getNumAreaAtPosition(event.getX(), event.getY() + 80);
				
				if(numArea >= 0 && numArea < game.getBaseManager().getBases().size()) {
					Base baseArea = game.getBaseManager().getBases().get(numArea);
					if (realPlayer.equals(baseArea.getPlayer())) {
						acceptBuildTower = true;
					}
				}
				
				if (acceptBuildTower) {
					PanelTmpTower panelTmpTower = AppliWindow.getInstance().getPanelTmpTower();
					panelTmpTower.setBounds(event.getX(), event.getY(), 30, 30);
					panelTmpTower.setVisible(true);
				}
				else {
					PanelTmpTower panelTmpTower = AppliWindow.getInstance().getPanelTmpTower();
					panelTmpTower.setVisible(false);
				}
			}
		} catch (RealPlayerException e1) {
			e1.printStackTrace();
		}
		
		try {
			if(Game.getInstance().getPlayerManager().getRealPlayer().getSelectedBases() != null) {	
				int x = (int) Game.getInstance().getPlayerManager().getRealPlayer().getSelectedBases().getPosition().getX() + AppliWindow.getInstance().getTilesSize()/2;
				int y = (int) Game.getInstance().getPlayerManager().getRealPlayer().getSelectedBases().getPosition().getY() + AppliWindow.getInstance().getTilesSize()/2;
				AppliWindow.getInstance().getLineCursor().displayLine(x, y, event.getX(), event.getY());
			}
			else {
				AppliWindow.getInstance().getLineCursor().displayLine(0,0,0,0);
			}
		} catch (RealPlayerException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}