Began work on ConnectionController for selecting active hosts on startup via GUI.

#story[782]
This commit is contained in:
cbt24
2017-05-03 00:35:46 +12:00
parent 577dea2a56
commit ad58407021
7 changed files with 113 additions and 6 deletions
@@ -1,5 +1,6 @@
package seng302.Mock;
import javafx.animation.AnimationTimer;
import javafx.collections.FXCollections;
import org.geotools.referencing.GeodeticCalculator;
import seng302.*;
@@ -12,6 +13,7 @@ import seng302.Networking.Utils.Enums.BoatStatus;
import seng302.Networking.Utils.BoatLocationMessage;
import java.awt.geom.Point2D;
import java.time.Instant;
import java.util.*;
/**
@@ -99,4 +101,39 @@ public class StreamedRace extends Race {
boat.setCurrentPosition(coordinate);
}
@Override
protected void countdownTimer() {
new AnimationTimer() {
long minutes;
long currentTimeInSeconds;
long remainingSeconds;
long hours;
long timeLeft;
@Override
public void handle(long arg0) {
long currentTime = Instant.now().getEpochSecond();
long startTime = visualiserInput.getRaceStatus().getExpectedStartTime();
timeLeft = startTime - currentTime;
System.out.println(timeLeft);
if (timeLeft <= 0 && controller != null) {
updateTime("Race is starting...");
stop();
simulateRace();
} else {
currentTimeInSeconds = (timeLeft*scaleFactor) / 1000;
minutes = currentTimeInSeconds / 60;
remainingSeconds = currentTimeInSeconds % 60;
hours = minutes / 60;
minutes = minutes % 60;
if (controller != null) {
updateTime(String.format("Race clock: -%02d:%02d:%02d", hours, minutes, remainingSeconds));
}
}
currentTime = System.currentTimeMillis();
}
}.start();
}
}