fixed race clock countdown/count up #story[1109]

This commit is contained in:
Peter Galloway
2017-08-14 16:32:50 +12:00
parent d2fd9ebaea
commit ff92262a78
4 changed files with 18 additions and 22 deletions
+10 -13
View File
@@ -17,7 +17,7 @@ public class RaceState {
private double windSpeed;
private double windDirection;
private long raceTime;
private long serverSystemTime;
private long expectedStartTime;
private boolean isRaceStarted = false;
long timeTillStart;
@@ -28,7 +28,7 @@ public class RaceState {
public void updateState (RaceStatusData data) {
this.windSpeed = data.getWindSpeed();
this.windDirection = data.getWindDirection();
this.raceTime = data.getCurrentTime();
this.serverSystemTime = data.getCurrentTime();
this.expectedStartTime = data.getExpectedStartTime();
this.isRaceStarted = data.isRaceStarted();
}
@@ -42,15 +42,16 @@ public class RaceState {
}
public String getRaceTimeStr () {
return DATE_TIME_FORMAT.format(raceTime);
long raceTime = serverSystemTime - expectedStartTime;
if (raceTime < 0) {
return "-" + DATE_TIME_FORMAT.format(-1 * (raceTime - 1000));
} else {
return DATE_TIME_FORMAT.format(serverSystemTime - expectedStartTime);
}
}
public long getTimeTillStart () {
return (expectedStartTime - raceTime) / 1000;
}
public String getTimeTillStartStr () {
return DATE_TIME_FORMAT.format(getTimeTillStart() * 1000);
return (expectedStartTime - serverSystemTime);
}
public double getWindSpeed() {
@@ -62,11 +63,7 @@ public class RaceState {
}
public long getRaceTime() {
return raceTime;
}
public long getExpectedStartTime() {
return expectedStartTime;
return serverSystemTime;
}
public boolean isRaceStarted () {
@@ -158,7 +158,7 @@ public class GameClient {
case RACE_STATUS:
processRaceStatusUpdate(StreamParser.extractRaceStatus(packet));
if (raceState.getTimeTillStart() <= 5){
if (raceState.getTimeTillStart() <= 5000) {
startRaceIfAllDataReceived();
}
@@ -214,9 +214,8 @@ public class LobbyController {
}
public void updateRaceState(RaceState raceState){
System.out.println(raceState.getTimeTillStart());
this.raceState = raceState;
timeUntilStart.setText(raceState.getTimeTillStartStr());
timeUntilStart.setText(raceState.getRaceTimeStr());
}
public void disableReadyButton () {
@@ -359,12 +359,12 @@ public class RaceViewController extends Thread implements ImportantAnnotationDel
* Updates the clock for the race
*/
private void updateRaceTime() {
if (!raceState.isRaceStarted()) {
timerLabel.setFill(Color.RED);
timerLabel.setText("Race Finished!");
} else {
// if (!raceState.isRaceStarted()) {
// timerLabel.setFill(Color.RED);
// timerLabel.setText("Race Finished!");
// } else {
timerLabel.setText(raceState.getRaceTimeStr());
}
// }
}
/**