Everything works. Needs a bit of polish, and possibly look at boat shapes next.

tags: #story[1142]
This commit is contained in:
Alistair McIntyre
2017-08-16 20:38:11 +12:00
parent 02a7b804c1
commit 67f0c213c2
7 changed files with 61 additions and 18 deletions
@@ -60,6 +60,8 @@ public class GameState implements Runnable {
public static Double windDirection;
private static Double windSpeed;
private static Boolean customizationFlag;
private static String hostIpAddress;
private static List<Player> players;
private static Map<Integer, ServerYacht> yachts;
@@ -91,6 +93,7 @@ public class GameState implements Runnable {
yachts = new HashMap<>();
players = new ArrayList<>();
GameState.hostIpAddress = hostIpAddress;
customizationFlag = false;
currentStage = GameStages.LOBBYING;
isRaceStarted = false;
@@ -668,4 +671,16 @@ public class GameState implements Runnable {
public static void addMarkPassListener(NewMessageListener listener) {
markListeners.add(listener);
}
public static void setCustomizationFlag() {
customizationFlag = true;
}
public static Boolean getCustomizationFlag() {
return customizationFlag;
}
public static void resetCustomizationFlag() {
customizationFlag = false;
}
}
@@ -76,13 +76,13 @@ public class MainServerThread implements Runnable, ClientConnectionDelegate {
} catch (InterruptedException e) {
serverLog("Interrupted exception in Main Server Thread thread sleep", 1);
}
if (GameState.getCurrentStage() == GameStages.LOBBYING) {
if (GameState.getCurrentStage() == GameStages.LOBBYING && GameState
.getCustomizationFlag()) {
// TODO: 16/08/17 ajm412: This can probably be done in a nicer way via those fancy functional interfaces.
for (ServerToClientThread thread : serverToClientThreads) {
thread.sendSetupMessages();
}
GameState.resetCustomizationFlag();
}
if (GameState.getCurrentStage() == GameStages.PRE_RACE) {
@@ -211,7 +211,7 @@ public class ServerToClientThread implements Runnable, Observer {
new StreamPacket(type, payloadLength, timeStamp, payload));
GameState.customizePlayer(sourceID, requestType,
Arrays.copyOfRange(payload, 6, payload.length));
sendSetupMessages();
GameState.setCustomizationFlag();
break;
}
} else {