@Override
	public void mouseMoved(int oldx, int oldy, int newx, int newy) {
		mousePos.x = newx;
		mousePos.y = newy;
		switch(interactionState){
			case normal:
			case selected:
				if(gui.isOnGui(newx, newy)){
					PlayerAction a = gui.isOnActionList(newx, newy);
					if(a == null){
						selectedTowerDef = null;
						displaySellValue = false;
					} else {
						selectedTowerDef = a.def;
						displaySellValue = (a.type == PlayerAction.Type.sell);
					}
					if(interactionState == InteractionState.normal) selectedTower = null;
				} else {
					selectedTowerDef = null;
					if(interactionState == InteractionState.normal) searchSelectedTower(newx, newy);
				}
				break;
			case placeTower:
				PointD p = transformPointBack(newx, newy);
				PointI pi = p.getPointI(selectedTowerDef.size);
				if(!pi.equals(placeTowerLocation)){
					towerIsPlaceable = false;
					placeTowerLocation = pi;
				}
				break;
		}
	}