public Vector2f checkMapLineCollision(Line collisionLine){
		int collWidth;
		int collHeight;
		int rectX;
		int rectY;
		Vector2f testPoint = null;
		List<Vector2f> intersectionList = new ArrayList<Vector2f>();
		for(int i = 0; i <= tileMap[0].length-1; i++){
			for(int c = 0; c <= tileMap.length-1; c++){
				if(tileMap[c][i] != null){
					if(tileMap[c][i].hasBulletCollision){
						collWidth = tileMap[c][i].getWidth();
						collHeight = tileMap[c][i].getHeight();
						rectX = mapX*GameplayState.MAP_WIDTH+(c*collWidth);
						rectY = mapY*GameplayState.MAP_HEIGHT+(i*collHeight);
						Rectangle temp = new Rectangle(rectX, rectY, collWidth,collHeight);
						
						if(util.intersect(temp,collisionLine) != null){
							testPoint = (util.intersect(temp,collisionLine).pt);
							intersectionList.add(testPoint);
						}
					}
				}
			}
		}
		Vector2f shortestPoint = null;
		Vector2f test = null;
		
		if(intersectionList.size() > 0){
			
			float shortestDistance = 100000;
			for(int i = 0; i <= intersectionList.size()-1; i++){
				test = intersectionList.get(i);
				if(collisionLine.getStart().distance(test) < shortestDistance){
					shortestDistance = collisionLine.getStart().distance(test);
					shortestPoint = test.copy();
				}
				
			}
			return shortestPoint;
		}
		
		
		
		
		return null;
	}