|
|
|
|
@ -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));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|