The merge went well!!

Tags: #story[1109]
This commit is contained in:
Michael Rausch
2017-08-16 14:51:44 +12:00
parent 8fb5ea2223
commit 5843fc9212
4 changed files with 35 additions and 21 deletions
@@ -189,7 +189,7 @@ public class GameState implements Runnable {
} catch (InterruptedException e) { } catch (InterruptedException e) {
System.out.println("[GameState] interrupted exception"); System.out.println("[GameState] interrupted exception");
} }
if (currentStage == GameStages.PRE_RACE || curentStage == GameStages.RACING) { if (currentStage == GameStages.PRE_RACE || currentStage == GameStages.RACING) {
update(); update();
} }
@@ -245,10 +245,6 @@ public class GameState implements Runnable {
raceFinished = false; raceFinished = false;
} }
} }
for (Yacht yacht : yachts.values()) {
yacht.update(timeInterval);
}
}
if (raceFinished) { if (raceFinished) {
currentStage = GameStages.FINISHED; currentStage = GameStages.FINISHED;
@@ -8,11 +8,8 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Timer; import java.util.Timer;
import java.util.TimerTask; import java.util.TimerTask;
import seng302.gameServer.server.messages.BoatSubMessage;
import seng302.gameServer.server.messages.Message; import seng302.gameServer.server.messages.*;
import seng302.gameServer.server.messages.RaceStatus;
import seng302.gameServer.server.messages.RaceStatusMessage;
import seng302.gameServer.server.messages.RaceType;
import seng302.model.GeoPoint; import seng302.model.GeoPoint;
import seng302.model.Player; import seng302.model.Player;
import seng302.model.PolarTable; import seng302.model.PolarTable;
@@ -30,6 +27,10 @@ public class MainServerThread implements Runnable, ClientConnectionDelegate {
private static final int PORT = 4942; private static final int PORT = 4942;
private static final Integer CLIENT_UPDATES_PER_SECOND = 10; private static final Integer CLIENT_UPDATES_PER_SECOND = 10;
private static final int LOG_LEVEL = 1; private static final int LOG_LEVEL = 1;
private static final int PRESTART_TIME = 60 * -1000;
private static final int WARNING_TIME = 30 * -1000;
private static final int PREPATORY_TIME = 10 * -1000;
private boolean terminated; private boolean terminated;
private Thread thread; private Thread thread;
@@ -166,10 +167,21 @@ public class MainServerThread implements Runnable, ClientConnectionDelegate {
@Override @Override
public void run() { public void run() {
broadcastMessage(makeRaceStatusMessage()); broadcastMessage(makeRaceStatusMessage());
if (GameState.getCurrentStage() == GameStages.PRE_RACE || GameState.getCurrentStage() == GameStages.LOBBYING) {
broadcastMessage(makeRaceStartMessage());
}
} }
}, 0, 500); }, 0, 500);
} }
private RaceStartStatusMessage makeRaceStartMessage() {
Long raceStartTime = GameState.getStartTime();
return new RaceStartStatusMessage(1, raceStartTime ,
1, RaceStartNotificationType.SET_RACE_START_TIME);
}
private RaceStatusMessage makeRaceStatusMessage() { private RaceStatusMessage makeRaceStatusMessage() {
// variables taken from GameServerThread // variables taken from GameServerThread
@@ -184,10 +196,22 @@ public class MainServerThread implements Runnable, ClientConnectionDelegate {
boatSubMessages.add(m); boatSubMessages.add(m);
} }
if (GameState.getCurrentStage() == GameStages.RACING) { long timeTillStart = System.currentTimeMillis() - GameState.getStartTime();
raceStatus = RaceStatus.STARTED;
if (GameState.getCurrentStage() == GameStages.LOBBYING) {
raceStatus = RaceStatus.PRESTART;
} else if (GameState.getCurrentStage() == GameStages.PRE_RACE) {
raceStatus = RaceStatus.PRESTART;
if (timeTillStart > WARNING_TIME) {
raceStatus = RaceStatus.WARNING;
}
if (timeTillStart > PREPATORY_TIME) {
raceStatus = RaceStatus.PREPARATORY;
}
} else { } else {
raceStatus = RaceStatus.WARNING; raceStatus = RaceStatus.STARTED;
} }
return new RaceStatusMessage(1, raceStatus, GameState.getStartTime(), return new RaceStatusMessage(1, raceStatus, GameState.getStartTime(),
@@ -73,11 +73,6 @@ public class ServerToClientThread implements Runnable, Observer {
private XMLGenerator xml; private XMLGenerator xml;
private static final int PRESTART_TIME = 60 * -1000;
private static final int WARNING_TIME = 30 * -1000;
private static final int PREPATORY_TIME = 10 * -1000;
private List<ConnectionListener> connectionListeners = new ArrayList<>(); private List<ConnectionListener> connectionListeners = new ArrayList<>();
private ServerYacht yacht; private ServerYacht yacht;
@@ -142,11 +142,10 @@ public class LobbyController {
@FXML @FXML
public void readyButtonPressed() { public void readyButtonPressed() {
GameState.setCurrentStage(GameStages.PRE_RACE); GameState.setCurrentStage(GameStages.PRE_RACE);
return;
// Do countdown logic here // Do countdown logic here
//for (LobbyCloseListener readyListener : lobbyListeners) for (LobbyCloseListener readyListener : lobbyListeners)
// readyListener.notify(CloseStatus.READY); readyListener.notify(CloseStatus.READY);
} }
public void setTitle (String title) { public void setTitle (String title) {