From 2b8b334486282a1e27cea0c6727d500c26ebb14c Mon Sep 17 00:00:00 2001 From: David Wu Date: Thu, 27 Jul 2017 13:12:39 +1200 Subject: [PATCH] Updated host to show the hosted address and port. Fixed css issue with lobby text field. #story[1087] --- .../Controllers/HostController.java | 13 +-------- .../Controllers/LobbyController.java | 29 +++++++++++++++++-- .../src/main/resources/css/dayMode.css | 2 +- .../src/main/resources/css/nightMode.css | 2 +- .../resources/visualiser/scenes/hostgame.fxml | 14 +++++++-- .../resources/visualiser/scenes/lobby.fxml | 22 ++++++++++---- 6 files changed, 57 insertions(+), 25 deletions(-) diff --git a/racevisionGame/src/main/java/visualiser/Controllers/HostController.java b/racevisionGame/src/main/java/visualiser/Controllers/HostController.java index 96e71795..e6e0f706 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/HostController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/HostController.java @@ -33,11 +33,6 @@ public class HostController extends Controller { @FXML AnchorPane hostWrapper; - @FXML - TextField gameAddressFld; - - @FXML - TextField gamePortFld; @Override public void initialize(URL location, ResourceBundle resources) { @@ -46,12 +41,8 @@ public class HostController extends Controller { public void hostGamePressed() throws IOException{ try { Event game = Event.getEvent(); - gameAddressFld.textProperty().set(game.getAddress()); - gamePortFld.textProperty().set(Integer.toString(game.getPort())); - System.out.println(gameAddressFld.textProperty().getValue()); - System.out.println(gamePortFld.textProperty().getValue()); game.start(); - connectSocket(gameAddressFld.textProperty().getValue(), Integer.parseInt(gamePortFld.textProperty().getValue())); + connectSocket("localhost", 4942); } catch (InvalidRaceDataException e) { e.printStackTrace(); } catch (XMLReaderException e) { @@ -60,8 +51,6 @@ public class HostController extends Controller { e.printStackTrace(); } catch (InvalidRegattaDataException e) { e.printStackTrace(); - } catch (UnknownHostException e) { - e.printStackTrace(); } } diff --git a/racevisionGame/src/main/java/visualiser/Controllers/LobbyController.java b/racevisionGame/src/main/java/visualiser/Controllers/LobbyController.java index a6c124ea..f88b739f 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/LobbyController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/LobbyController.java @@ -6,6 +6,7 @@ import javafx.fxml.FXML; import javafx.scene.control.Button; import javafx.scene.control.TableColumn; import javafx.scene.control.TableView; +import javafx.scene.control.TextField; import javafx.scene.control.cell.PropertyValueFactory; import javafx.scene.layout.AnchorPane; import visualiser.model.RaceConnection; @@ -32,6 +33,10 @@ public class LobbyController extends Controller { private TableColumn statusColumn; @FXML private Button joinGameBtn; + @FXML + private TextField addressFld; + @FXML + private TextField portFld; private ObservableList connections; @@ -39,7 +44,7 @@ public class LobbyController extends Controller { @Override public void initialize(URL location, ResourceBundle resources) { connections = FXCollections.observableArrayList(); - connections.add(new RaceConnection("localhost", 4942, "Local Game")); + //connections.add(new RaceConnection("localhost", 4942, "Local Game")); lobbyTable.setItems(connections); @@ -62,8 +67,12 @@ public class LobbyController extends Controller { public void refreshBtnPressed(){ for(RaceConnection connection: connections) { connection.check(); + try { + Thread.sleep(500); + } catch (InterruptedException e) { + e.printStackTrace(); + } } - try { if (lobbyTable.getSelectionModel().getSelectedItem().statusProperty().getValue().equals("Ready")) { joinGameBtn.setDisable(false); @@ -84,6 +93,22 @@ public class LobbyController extends Controller { } } + /** + * adds a new connection + */ + public void addConnectionPressed(){ + String hostName = addressFld.getText(); + String portString = portFld.getText(); + try{ + int port = Integer.parseInt(portString); + connections.add(new RaceConnection(hostName, port, "Boat Game")); + addressFld.clear(); + portFld.clear(); + }catch(NumberFormatException e){ + System.err.println("Port number entered is not a number"); + } + } + public AnchorPane startWrapper(){ return lobbyWrapper; } diff --git a/racevisionGame/src/main/resources/css/dayMode.css b/racevisionGame/src/main/resources/css/dayMode.css index c9dc0e69..b15f242b 100644 --- a/racevisionGame/src/main/resources/css/dayMode.css +++ b/racevisionGame/src/main/resources/css/dayMode.css @@ -28,7 +28,7 @@ /* Fix derived prompt color for text fields */ .text-input { -fx-prompt-text-fill: derive(-fx-control-inner-background, +0%); - -fx-background-color: #a9a9a9 , black , black; + -fx-background-color: #a9a9a9, black, grey; } /* Keep prompt invisible when focused (above color fix overrides it) */ diff --git a/racevisionGame/src/main/resources/css/nightMode.css b/racevisionGame/src/main/resources/css/nightMode.css index a1c6f587..406cc60b 100644 --- a/racevisionGame/src/main/resources/css/nightMode.css +++ b/racevisionGame/src/main/resources/css/nightMode.css @@ -28,7 +28,7 @@ /* Fix derived prompt color for text fields */ .text-input { -fx-prompt-text-fill: derive(-fx-control-inner-background, +0%); - -fx-background-color: #a9a9a9 , white , white; + -fx-background-color: #a9a9a9 , grey, grey; } diff --git a/racevisionGame/src/main/resources/visualiser/scenes/hostgame.fxml b/racevisionGame/src/main/resources/visualiser/scenes/hostgame.fxml index 51e5e9c5..5657fa30 100644 --- a/racevisionGame/src/main/resources/visualiser/scenes/hostgame.fxml +++ b/racevisionGame/src/main/resources/visualiser/scenes/hostgame.fxml @@ -21,13 +21,21 @@ - - - + + diff --git a/racevisionGame/src/main/resources/visualiser/scenes/lobby.fxml b/racevisionGame/src/main/resources/visualiser/scenes/lobby.fxml index f1137483..13159bec 100644 --- a/racevisionGame/src/main/resources/visualiser/scenes/lobby.fxml +++ b/racevisionGame/src/main/resources/visualiser/scenes/lobby.fxml @@ -35,11 +35,6 @@ - - - - - + + + + + + + + + + +