|
|
|
|
@ -96,26 +96,26 @@ public class StartController extends Controller implements Observer {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Countdown timer until race starts. Use PRERACE_TIME to set countdown duration.
|
|
|
|
|
* @param scaleFactor factor to scale by
|
|
|
|
|
*/
|
|
|
|
|
protected void countdownTimer() {
|
|
|
|
|
new AnimationTimer() {
|
|
|
|
|
@Override
|
|
|
|
|
public void handle(long arg0) {
|
|
|
|
|
ZonedDateTime currentTime = raceClock.getTime();
|
|
|
|
|
if (visualiserInput.getRaceStatus().getRaceStatus()==2) {
|
|
|
|
|
raceStat = visualiserInput.getRaceStatus().getRaceStatus();
|
|
|
|
|
raceStatusLabel.setText("Race Status: " + visualiserInput.getRaceStatus().getRaceStatus());
|
|
|
|
|
if (raceStat==2 || raceStat == 3) {
|
|
|
|
|
updateTime("Race is starting...");
|
|
|
|
|
stop();
|
|
|
|
|
parent.beginRace(visualiserInput);
|
|
|
|
|
startWrapper.setVisible(false);
|
|
|
|
|
start.setVisible(false);
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
long seconds = startingTime.toLocalDateTime().until(currentTime.toLocalDateTime(), ChronoUnit.SECONDS);
|
|
|
|
|
updateTime(String.format("Race starts in: %d:%02d:%02d", seconds/3600, (seconds%3600)/60, (seconds%60)));
|
|
|
|
|
if (visualiserInput.getRaceStatus().getRaceStatus() == 2) {
|
|
|
|
|
raceStat = visualiserInput.getRaceStatus().getRaceStatus();
|
|
|
|
|
raceStatusLabel.setText("Race Status: " + visualiserInput.getRaceStatus().getRaceStatus());
|
|
|
|
|
if (raceStat == 2 || raceStat == 3) {
|
|
|
|
|
updateTime("Race is starting...");
|
|
|
|
|
stop();
|
|
|
|
|
parent.beginRace(visualiserInput);
|
|
|
|
|
startWrapper.setVisible(false);
|
|
|
|
|
start.setVisible(false);
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
long seconds = startingTime.toLocalDateTime().until(currentTime.toLocalDateTime(), ChronoUnit.SECONDS);
|
|
|
|
|
updateTime(String.format("Race starts in: %d:%02d:%02d", seconds / 3600, (seconds % 3600) / 60, (seconds % 60)));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}.start();
|
|
|
|
|
|