Merge branch 'jonathan'

weird
master
Jonathan Hager 5 years ago
commit ea2f9f7de0

@ -83,7 +83,7 @@ public class StaticMath {
collisionPolygons[2] = new Polygon(newVertices);
// second line of polygon
newVertices = wall.getVertices();
newVertices = wall.getVertices();
newVertices[0] = newVertices[2];
newVertices[1] = newVertices[3] + 1;
@ -100,6 +100,7 @@ public class StaticMath {
newVertices[5] = newVertices[7] - 1;
collisionPolygons[3] = new Polygon(newVertices);
return collisionPolygons;
}

@ -7,10 +7,12 @@ public class PermWall implements Wall {
private double rotation;
private Polygon polygon;
private Polygon[] collisionPolygons;
public PermWall(double rotation, Polygon polygon){
this.rotation = rotation;
this.polygon = polygon;
collisionPolygons = StaticMath.createCollisionPolygons(polygon);
}
@Override
@ -24,6 +26,11 @@ public class PermWall implements Wall {
return Math.toDegrees(StaticMath.calculateAngle((int) vertices[0], (int) vertices[1], (int) vertices[6], (int) vertices[7]));
}
@Override
public Polygon[] getCollisionPolygons() {
return collisionPolygons;
}
public void setRotation(double rotation) {
this.rotation = rotation;
}

@ -57,10 +57,8 @@ public class Projectile {
private void collision(Wall wall){
System.out.println("Collision");
Polygon[] collisionPolygons = StaticMath.createCollisionPolygons(wall.getPolygon());
double collisionAngle = 0;
for(Polygon collision : collisionPolygons){
for(Polygon collision : wall.getCollisionPolygons()){
if(Intersector.overlapConvexPolygons(polygon, collision)){
float[] vertices = collision.getVertices();
collisionAngle = StaticMath.calculateAngle((int) vertices[0], (int) vertices[1], (int) vertices[6], (int) vertices[7]);

@ -9,11 +9,13 @@ public class TempWall implements Wall {
private double rotation;
private Polygon polygon;
private int lifetime;
private Polygon[] collisionPolygons;
public TempWall(double rotation, Polygon polygon, int lifetime){
this.rotation = rotation;
this.polygon = polygon;
this.lifetime = lifetime;
collisionPolygons = StaticMath.createCollisionPolygons(polygon);
}
@Override
@ -27,6 +29,11 @@ public class TempWall implements Wall {
return Math.toDegrees(StaticMath.calculateAngle((int) vertices[0], (int) vertices[1], (int) vertices[6], (int) vertices[7]));
}
@Override
public Polygon[] getCollisionPolygons() {
return collisionPolygons;
}
public void setRotation(double rotation) {
this.rotation = rotation;
}

@ -6,4 +6,5 @@ public interface Wall {
public Wall timerStep();
public Polygon getPolygon();
public double getRotation();
public Polygon[] getCollisionPolygons();
}

Loading…
Cancel
Save