private void mouse(){
		if(key.shift){
			dragX = (mouse.getX() + xScroll) / 32;
			dragY = (mouse.getY() + yScroll) / 32;
		}else{
			tileX = (mouse.getX() + xScroll) / 32;
			tileY = (mouse.getY() + yScroll) / 32;
		}
		
		if(mouse.getButton() == 1){
			//Start placing selected tile at tileX & tileY
			checked = false;
			switch(selection){
				case 0: //Clear
					if(tileValid){
						setTile(tileX, tileY, 2);
						checkDeleteTrap(tileX, tileY);
					}
					break;
				case 1: //Floor
					if(tileValid) setTile(tileX, tileY, 1);
					break;
				case 2: //Wall
					if(tileValid) setTile(tileX, tileY, 0);
					break;
				case 3://Trap
					if(tileValid && traps.size() < maxTraps){
						traps.add(new Trap(traps.size(), tileX, tileY, null));
						setTile(tileX, tileY, 5);
					}
					break;
				case 4://Door
					if(tileValid) setTile(tileX, tileY, getDoorPos());
					break;
				case 5://Spawner
					if(tileValid){
						spawners.add(new Spawner(spawners.size(), tileX, tileY, null));
						setTile(tileX, tileY, 6);
					}
					break;
				default:
					break;
			}
			if(selection != 0) placeWalls();	
		}
		
		if(mouse.getButton() == 3){
			if(getTile(tileX, tileY).equals(Tile.trapTile)){
				checkDeleteTrap(tileX, tileY);
				setTile(tileX, tileY, 1);
			}
		}
		
		if(mouse.getButton() != 1 && selection == 0) placeWalls();
		
	}