|
|
|
@ -30,7 +30,9 @@ public class BoatInRace extends Boat {
|
|
|
|
|
|
|
|
|
|
|
|
private Queue<TrackPoint> track = new ConcurrentLinkedQueue<>();
|
|
|
|
private Queue<TrackPoint> track = new ConcurrentLinkedQueue<>();
|
|
|
|
private long nextValidTime = 0;
|
|
|
|
private long nextValidTime = 0;
|
|
|
|
private final int TRACK_POINT_TIME_INTERVAL = 1000; // every 1 seconds
|
|
|
|
|
|
|
|
|
|
|
|
private static final float BASE_TRACK_POINT_TIME_INTERVAL = 5000;
|
|
|
|
|
|
|
|
private static float trackPointTimeInterval = 5000; // every 1 seconds
|
|
|
|
private final int TRACK_POINT_LIMIT = 10;
|
|
|
|
private final int TRACK_POINT_LIMIT = 10;
|
|
|
|
private boolean trackVisible = true;
|
|
|
|
private boolean trackVisible = true;
|
|
|
|
|
|
|
|
|
|
|
|
@ -269,8 +271,8 @@ public class BoatInRace extends Boat {
|
|
|
|
Boolean added = System.currentTimeMillis() >= nextValidTime;
|
|
|
|
Boolean added = System.currentTimeMillis() >= nextValidTime;
|
|
|
|
long currentTime = System.currentTimeMillis();
|
|
|
|
long currentTime = System.currentTimeMillis();
|
|
|
|
if (added && this.started) {
|
|
|
|
if (added && this.started) {
|
|
|
|
nextValidTime = currentTime + TRACK_POINT_TIME_INTERVAL;
|
|
|
|
nextValidTime = currentTime + (long) trackPointTimeInterval;
|
|
|
|
track.add(new TrackPoint(coordinate, currentTime, TRACK_POINT_LIMIT * TRACK_POINT_TIME_INTERVAL));
|
|
|
|
track.add(new TrackPoint(coordinate, currentTime, TRACK_POINT_LIMIT * (long) trackPointTimeInterval));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return added;
|
|
|
|
return added;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -299,4 +301,12 @@ public class BoatInRace extends Boat {
|
|
|
|
public void setTrackVisible(boolean trackVisible) {
|
|
|
|
public void setTrackVisible(boolean trackVisible) {
|
|
|
|
this.trackVisible = trackVisible;
|
|
|
|
this.trackVisible = trackVisible;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static float getBaseTrackPointTimeInterval() {
|
|
|
|
|
|
|
|
return BASE_TRACK_POINT_TIME_INTERVAL;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static void setTrackPointTimeInterval(float value) {
|
|
|
|
|
|
|
|
trackPointTimeInterval = value;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|