Boats bounce away from marks.

- Changed onCollisionEnter signature to pass boat info

#story[1100]
This commit is contained in:
cbt24
2017-08-16 17:22:08 +12:00
parent 8113867576
commit eaa0d2e82b
4 changed files with 13 additions and 6 deletions
@@ -400,6 +400,6 @@ public class Boat extends Collider {
}
@Override
public void onCollisionEnter(Collision e) {
public void onCollisionEnter(Boat collider, Collision e) {
}
}
@@ -24,6 +24,10 @@ public class Mark extends Collider {
*/
private GPSCoordinate position;
/**
* Repulsion radius of the mark
*/
private double repulsionRadius = 50;
/**
* Constructs a mark with a given source ID, name, and position.
@@ -81,10 +85,12 @@ public class Mark extends Collider {
@Override
public boolean rayCast(Boat boat) {
return rayCast(boat, 100);
return rayCast(boat, repulsionRadius);
}
@Override
public void onCollisionEnter(Collision e) {
public void onCollisionEnter(Boat collider, Collision e) {
Azimuth reverseAzimuth = Azimuth.fromDegrees(collider.getBearing().degrees() - 180d);
collider.setPosition(GPSCoordinate.calculateNewPosition(collider.getPosition(), 2 * repulsionRadius, reverseAzimuth));
}
}