package engine.CollisionEngine; import engine.objects.Building; import java.awt.*; import java.awt.geom.Line2D; public class CollisionManager { public static boolean CollisionDetected(Building building, Line2D travelLine, float charHeight){ Rectangle.Float boundsRect = new Rectangle.Float(); float rectCenterX = building.loc.x + building.getBounds().getHalfExtents().x; float rectCenterZ = building.loc.z + building.getBounds().getHalfExtents().y; boundsRect.setRect(rectCenterX, rectCenterZ, building.getBounds().getHalfExtents().x * 2,building.getBounds().getHalfExtents().y * 2); if(travelLine.intersects(boundsRect)){ //collided with building for(Mesh mesh : building.buildingMeshes) { if (mesh.MeshCollides(travelLine,charHeight)) { //ChatManager.chatSystemInfo(pc, "Collision Detected"); //MovementManager.movement(msg, pc); return true; } } } return false; } }