Browse Source

Point under water check

Tankernn 8 years ago
parent
commit
2ad28b87e6

+ 14 - 0
src/main/java/eu/tankernn/gameEngine/renderEngine/water/WaterMaster.java

@@ -5,6 +5,7 @@ import java.util.List;
 
 import org.lwjgl.opengl.GL11;
 import org.lwjgl.opengl.GL30;
+import org.lwjgl.util.vector.Vector3f;
 import org.lwjgl.util.vector.Vector4f;
 
 import eu.tankernn.gameEngine.entities.Camera;
@@ -53,6 +54,19 @@ public class WaterMaster {
 		buffers.getReflectionFbo().unbindFrameBuffer();
 	}
 	
+	public boolean isPointUnderWater(Vector3f point) {
+		for (WaterTile tile : waterTiles) {
+			if (point.y < tile.getHeight()) {
+				if (tile.getX() - tile.getSize() <= point.x && point.x <= tile.getX() + tile.getSize()) {
+					if (tile.getZ() - tile.getSize() <= point.z && point.z <= tile.getZ() + tile.getSize()) {
+						return true;
+					}
+				}
+			}
+		}
+		return false;
+	}
+	
 	public void renderWater(Camera camera, List<Light> lights) {
 		waterRenderer.render(waterTiles, camera, lights);
 	}