debug dev command for collision

This commit is contained in:
2024-01-03 19:33:34 -06:00
parent f1e41e47cf
commit f8cbeb4cc6
3 changed files with 16 additions and 2 deletions
+2
View File
@@ -2,11 +2,13 @@ package engine.collision;
import java.awt.geom.Line2D;
import java.awt.geom.Rectangle2D;
import java.util.ArrayList;
public class Mesh {
public ArrayList<Triangle> triangles;
public ArrayList<Line2D> BoundingLines;
public Rectangle2D boundsRect;
public float meshHeight;
public boolean BoundsCollides(Line2D line){
+11 -2
View File
@@ -10,10 +10,12 @@
package engine.devcmd.cmds;
import engine.Enum;
import engine.collision.Mesh;
import engine.devcmd.AbstractDevCmd;
import engine.gameManager.BuildingManager;
import engine.objects.*;
import java.awt.geom.Point2D;
import java.lang.reflect.Field;
public class RegionCmd extends AbstractDevCmd {
@@ -37,7 +39,6 @@ public class RegionCmd extends AbstractDevCmd {
Regions region = ((AbstractCharacter)target).region;
if (region == null) {
this.throwbackInfo(pc, "No Region Found.");
return;
}
if(region != null) {
@@ -48,7 +49,15 @@ public class RegionCmd extends AbstractDevCmd {
output += "is Outside: " + region.isOutside();
this.throwbackInfo(pc, output);
}
if(building != null){
for(Mesh mesh : building.buildingMeshes){
if(mesh.boundsRect.contains(new Point2D.Float(((AbstractCharacter) target).loc.x,((AbstractCharacter) target).loc.z))){
this.throwbackInfo(pc, "Inside Mesh Bounds");
return;
}
}
this.throwbackInfo(pc, "Outside Mesh Bounds");
}
}
@Override
@@ -1031,6 +1031,9 @@ public enum BuildingManager {
tri.sides.add(new Line2D.Float(p3,p1));
generatedMesh.triangles.add(tri);
}
if(BuildingManager.mesh_bounding_boxes.containsKey(mesh)){
generatedMesh.boundsRect = BuildingManager.mesh_bounding_boxes.get(mesh);
}
building.buildingMeshes.add(generatedMesh);
}
}