From 4c730ea890b27885bedcc757950167c9539936d8 Mon Sep 17 00:00:00 2001 From: William Muir Date: Thu, 17 Aug 2017 15:40:55 +1200 Subject: [PATCH 01/32] Fixed null pointer when cant find a server tags: #fix --- .../java/seng302/visualiser/GameClient.java | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/main/java/seng302/visualiser/GameClient.java b/src/main/java/seng302/visualiser/GameClient.java index 968d9a92..63687191 100644 --- a/src/main/java/seng302/visualiser/GameClient.java +++ b/src/main/java/seng302/visualiser/GameClient.java @@ -74,6 +74,7 @@ public class GameClient { startClientToServerThread(ipAddress, portNumber); socketThread.addDisconnectionListener((cause) -> { showConnectionError(cause); + tearDownConnection(); Platform.runLater(this::loadStartScreen); }); socketThread.addStreamObserver(this::parsePackets); @@ -91,7 +92,10 @@ public class GameClient { lobbyController.setCourseName(""); } - lobbyController.addCloseListener((exitCause) -> this.loadStartScreen()); + lobbyController.addCloseListener((exitCause) -> { + this.tearDownConnection(); + this.loadStartScreen(); + }); this.lobbyController = lobbyController; } catch (IOException ioe) { showConnectionError("Unable to find server"); @@ -109,6 +113,7 @@ public class GameClient { try { startClientToServerThread(ipAddress, portNumber); socketThread.addDisconnectionListener((cause) -> { + this.tearDownConnection(); Platform.runLater(this::loadStartScreen); }); LobbyController lobbyController = loadLobby(); @@ -129,8 +134,7 @@ public class GameClient { lobbyController.disableReadyButton(); server.startGame(); } else if (exitCause == CloseStatus.LEAVE) { - server.terminate(); - server = null; + tearDownConnection(); loadStartScreen(); } }); @@ -141,12 +145,20 @@ public class GameClient { } } - private void loadStartScreen() { + private void tearDownConnection() { socketThread.setSocketToClose(); if (server != null) { server.terminate(); server = null; } + } + + private void loadStartScreen() { +// socketThread.setSocketToClose(); +// if (server != null) { +// server.terminate(); +// server = null; +// } FXMLLoader fxmlLoader = new FXMLLoader( getClass().getResource("/views/StartScreenView.fxml")); try { From 2fcff65dd66b82ebdaa4a81cb9b965256a3599ed Mon Sep 17 00:00:00 2001 From: William Muir Date: Thu, 17 Aug 2017 15:44:05 +1200 Subject: [PATCH 02/32] Fixed null pointer when cant find a server tags: #fix --- src/main/java/seng302/App.java | 2 +- src/main/resources/views/StartScreenView.fxml | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/seng302/App.java b/src/main/java/seng302/App.java index 8c6f85ac..16470fb1 100644 --- a/src/main/java/seng302/App.java +++ b/src/main/java/seng302/App.java @@ -68,7 +68,7 @@ public class App extends Application { @Override public void start(Stage primaryStage) throws Exception { Parent root = FXMLLoader.load(getClass().getResource("/views/StartScreenView.fxml")); - primaryStage.setTitle("RaceVision"); + primaryStage.setTitle("Party Parrots at Sea"); Scene scene = new Scene(root, 1530, 960); scene.getStylesheets().add(getClass().getResource("/css/master.css").toString()); primaryStage.setScene(scene); diff --git a/src/main/resources/views/StartScreenView.fxml b/src/main/resources/views/StartScreenView.fxml index 4bd0a808..37ea3885 100644 --- a/src/main/resources/views/StartScreenView.fxml +++ b/src/main/resources/views/StartScreenView.fxml @@ -20,7 +20,9 @@ -