Merge remote-tracking branch 'origin/develop' into Story66_Collision

# Conflicts:
#	src/main/java/seng302/gameServer/GameState.java
#	src/main/java/seng302/model/Yacht.java
This commit is contained in:
Zhi You Tan
2017-08-08 17:04:34 +12:00
15 changed files with 772 additions and 534 deletions
@@ -8,6 +8,7 @@ import javafx.application.Platform;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import seng302.model.GeoPoint;
import seng302.gameServer.server.messages.BoatActionType;
import seng302.model.Player;
import seng302.model.Yacht;
import seng302.gameServer.server.messages.BoatActionType;
@@ -33,8 +34,6 @@ public class GameState implements Runnable {
private static GameStages currentStage;
private static long startTime;
// TODO: 26/07/17 cir27 - Super hackish fix until something more permanent can be made.
private static ObservableList<String> observablePlayers = FXCollections.observableArrayList();
private static Map<Player, String> playerStringMap = new HashMap<>();
/*
Ideally I would like to make this class an object instantiated by the server and given to
@@ -63,7 +62,6 @@ public class GameState implements Runnable {
yachts = new HashMap<>();
new Thread(this).start();
}
public static String getHostIpAddress() {
@@ -74,23 +72,14 @@ public class GameState implements Runnable {
return players;
}
public static ObservableList<String> getObservablePlayers() {
return observablePlayers;
}
public static void addPlayer(Player player) {
players.add(player);
String playerText =
player.getYacht().getSourceId() + " " + player.getYacht().getBoatName() + " " + player
.getYacht().getCountry();
Platform.runLater(() -> observablePlayers
.add(playerText)); //Had to add this to handle javaFX window using array
String playerText = player.getYacht().getSourceId() + " " + player.getYacht().getBoatName() + " " + player.getYacht().getCountry();
playerStringMap.put(player, playerText);
}
public static void removePlayer(Player player) {
players.remove(player);
observablePlayers.remove(playerStringMap.get(player));
playerStringMap.remove(player);
}