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

This commit is contained in:
Calum
2017-09-28 16:17:27 +13:00
11 changed files with 134 additions and 79 deletions
@@ -19,7 +19,7 @@ import java.util.Timer;
import java.util.TimerTask;
public class DiscoveryServerClient {
private final Integer UPDATE_INTERVAL_MS = 700;
private final Integer UPDATE_INTERVAL_MS = 1000;
private static String roomCode = null;
private Timer serverListingUpdateTimer;
@@ -26,6 +26,7 @@ import seng302.utilities.GeoUtility;
public class MainServerThread implements Runnable, ClientConnectionDelegate {
private static final int PORT = 4942;
private static int selectedPort = PORT;
private static final Integer CLIENT_UPDATES_PER_SECOND = 60;
private Logger logger = LoggerFactory.getLogger(MainServerThread.class);
private boolean terminated;
@@ -40,7 +41,8 @@ public class MainServerThread implements Runnable, ClientConnectionDelegate {
public MainServerThread() {
new GameState();
try {
serverSocket = new ServerSocket(PORT);
serverSocket = new ServerSocket(0);
selectedPort = serverSocket.getLocalPort();
} catch (IOException e) {
logger.trace("IO error in server thread handler upon trying to make new server socket",
0);
@@ -66,7 +68,7 @@ public class MainServerThread implements Runnable, ClientConnectionDelegate {
.setMapName(regattaXMLData.getCourseName())
.setCapacity(capacity)
.setNumberOfPlayers(numPlayers - 1)
.registerGame(PORT, regattaXMLData.getRegattaName());
.registerGame(selectedPort, regattaXMLData.getRegattaName());
} catch (IOException e) {
logger.warn("Could not register server");
}
@@ -346,4 +348,8 @@ public class MainServerThread implements Runnable, ClientConnectionDelegate {
public boolean hasStarted() {
return hasStarted;
}
public int getPortNumber() {
return selectedPort;
}
}
@@ -143,7 +143,7 @@ public class GameClient {
}
try {
startClientToServerThread("localhost", 4942);
startClientToServerThread("localhost", server.getPortNumber());
} catch (IOException e) {
showConnectionError("Cannot connect to server as host");
}
@@ -177,9 +177,11 @@ public class GameClient {
this.lobbyController = ViewManager.getInstance().goToLobby(false);
lobbyController.setPortNumber(""+server.getPortNumber());
ViewManager.getInstance().setPlayerList(clientLobbyList);
return new ServerDescription(serverName, regattaData.getCourseName(), GameState.getNumberOfPlayers(), GameState.getCapacity(),
"localhost", 4942);
"localhost", server.getPortNumber());
}
private void tearDownConnection() {
@@ -35,7 +35,7 @@ public class MapMaker {
private XMLGenerator xmlGenerator = new XMLGenerator();
private List<String> maps = new ArrayList<>(
Arrays.asList("default.xml", "horseshoe.xml", "loop.xml", "madagascar.xml"));
Arrays.asList("default.xml", "horseshoe.xml", "loop.xml", "madagascar.xml", "waiheke.xml"));
public static MapMaker getInstance() {
if (instance == null) {
@@ -71,6 +71,8 @@ public class LobbyController implements Initializable {
@FXML
private Label roomLabel;
@FXML
private Label portNumber;
@FXML
private Pane speedTokenPane, handlingTokenPane, windWalkerTokenPane, bumperTokenPane, randomTokenPane;
//---------FXML END---------//
@@ -85,6 +87,8 @@ public class LobbyController implements Initializable {
@Override
public void initialize(URL location, ResourceBundle resources) {
roomLabel.setText("");
portNumber.setText("");
this.playerBoats = ViewManager.getInstance().getGameClient().getAllBoatsMap();
if (this.playersColor == null) {
@@ -376,4 +380,8 @@ public class LobbyController implements Initializable {
public void setRoomCode(String roomCode) {
roomLabel.setText("Room: " + roomCode);
}
public void setPortNumber(String p){
portNumber.setText("Port: " + p);
}
}