diff --git a/src/main/java/seng302/controllers/LobbyController.java b/src/main/java/seng302/controllers/LobbyController.java index f63b8d68..c87ad5ab 100644 --- a/src/main/java/seng302/controllers/LobbyController.java +++ b/src/main/java/seng302/controllers/LobbyController.java @@ -15,11 +15,13 @@ import javafx.collections.ObservableList; import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; import javafx.fxml.Initializable; -import javafx.scene.control.ListView; +import javafx.scene.image.Image; +import javafx.scene.image.ImageView; import javafx.scene.layout.AnchorPane; import javafx.scene.layout.GridPane; import javafx.scene.layout.Pane; import javafx.scene.text.Text; +import seng302.client.ClientState; import seng302.client.ClientStateQueryingRunnable; import seng302.gameServer.GameStages; import seng302.gameServer.GameState; @@ -30,12 +32,28 @@ import seng302.gameServer.GameState; */ public class LobbyController implements Initializable, Observer{ - @FXML - private ListView competitorsListView; +// @FXML +// private ListView competitorsListView; @FXML private GridPane lobbyScreen; @FXML private Text lobbyIpText; + @FXML + private ImageView firstImageView; + @FXML + private ImageView secondImageView; + @FXML + private ImageView thirdImageView; + @FXML + private ImageView fourthImageView; + @FXML + private ImageView fifthImageView; + @FXML + private ImageView sixthImageView; + @FXML + private ImageView seventhImageView; + @FXML + private ImageView eighthImageView; private static ObservableList competitors; private ClientStateQueryingRunnable clientStateQueryingRunnable; @@ -57,9 +75,14 @@ public class LobbyController implements Initializable, Observer{ @Override public void initialize(URL location, ResourceBundle resources) { - lobbyIpText.setText("Lobby Host IP: " + getLocalHostIp()); + if (ClientState.isHost()) + lobbyIpText.setText("Lobby Host IP: " + getLocalHostIp()); + else + lobbyIpText.setText("Connected to IP: "); + initialiseImageView(); + competitors = FXCollections.observableArrayList(); - competitorsListView.setItems(competitors); +// competitorsListView.setItems(competitors); // set up client state query thread, so that when it receives the race-started packet // it can switch to the race view @@ -81,6 +104,25 @@ public class LobbyController implements Initializable, Observer{ }); } + private void initialiseImageView() { + Image image1 = new Image(getClass().getResourceAsStream("/ParrotGif/alistair.gif")); + firstImageView.setImage(image1); + Image image2 = new Image(getClass().getResourceAsStream("/ParrotGif/calum.gif")); + secondImageView.setImage(image2); + Image image3 = new Image(getClass().getResourceAsStream("/ParrotGif/haoming.gif")); + thirdImageView.setImage(image3); + Image image4 = new Image(getClass().getResourceAsStream("/ParrotGif/kusal.gif")); + fourthImageView.setImage(image4); + Image image5 = new Image(getClass().getResourceAsStream("/ParrotGif/michael.gif")); + fifthImageView.setImage(image5); + Image image6 = new Image(getClass().getResourceAsStream("/ParrotGif/peter.gif")); + sixthImageView.setImage(image6); + Image image7 = new Image(getClass().getResourceAsStream("/ParrotGif/ryan.gif")); + seventhImageView.setImage(image7); + Image image8 = new Image(getClass().getResourceAsStream("/ParrotGif/will.gif")); + eighthImageView.setImage(image8); + } + private String getLocalHostIp() { String ipAddress = null; try { @@ -117,6 +159,7 @@ public class LobbyController implements Initializable, Observer{ setContentPane("/views/StartScreenView.fxml"); GameState.setCurrentStage(GameStages.CANCELLED); // TODO: 20/07/17 wmu16 - Implement some way of terminating the game + ClientState.setHost(false); } @FXML diff --git a/src/main/java/seng302/controllers/StartScreenController.java b/src/main/java/seng302/controllers/StartScreenController.java index 03c8c730..3a55794f 100644 --- a/src/main/java/seng302/controllers/StartScreenController.java +++ b/src/main/java/seng302/controllers/StartScreenController.java @@ -70,6 +70,7 @@ public class StartScreenController { ClientToServerThread clientToServerThread = new ClientToServerThread("localhost", 4950); controller.setClientToServerThread(clientToServerThread); clientToServerThread.start(); + ClientState.setHost(true); // new GameServerThread("Fuck you"); // get the lobby controller so that we can pass the game server thread to it setContentPane("/views/LobbyView.fxml"); @@ -92,6 +93,7 @@ public class StartScreenController { ClientToServerThread clientToServerThread = new ClientToServerThread(ipAddress, port); controller.setClientToServerThread(clientToServerThread); clientToServerThread.start(); + ClientState.setHost(false); ClientState.setConnectedToHost(true); setContentPane("/views/LobbyView.fxml"); } catch (Exception e) { diff --git a/src/main/resources/ParrotGif/alistair.gif b/src/main/resources/ParrotGif/alistair.gif new file mode 100644 index 00000000..ce003789 Binary files /dev/null and b/src/main/resources/ParrotGif/alistair.gif differ diff --git a/src/main/resources/ParrotGif/calum.gif b/src/main/resources/ParrotGif/calum.gif new file mode 100644 index 00000000..03d495ed Binary files /dev/null and b/src/main/resources/ParrotGif/calum.gif differ diff --git a/src/main/resources/ParrotGif/haoming.gif b/src/main/resources/ParrotGif/haoming.gif new file mode 100644 index 00000000..33b26de6 Binary files /dev/null and b/src/main/resources/ParrotGif/haoming.gif differ diff --git a/src/main/resources/ParrotGif/kusal.gif b/src/main/resources/ParrotGif/kusal.gif new file mode 100644 index 00000000..1372928c Binary files /dev/null and b/src/main/resources/ParrotGif/kusal.gif differ diff --git a/src/main/resources/ParrotGif/michael.gif b/src/main/resources/ParrotGif/michael.gif new file mode 100644 index 00000000..83ea1dff Binary files /dev/null and b/src/main/resources/ParrotGif/michael.gif differ diff --git a/src/main/resources/ParrotGif/parrot.gif b/src/main/resources/ParrotGif/parrot.gif new file mode 100644 index 00000000..458ad859 Binary files /dev/null and b/src/main/resources/ParrotGif/parrot.gif differ diff --git a/src/main/resources/ParrotGif/peter.gif b/src/main/resources/ParrotGif/peter.gif new file mode 100644 index 00000000..470b46cf Binary files /dev/null and b/src/main/resources/ParrotGif/peter.gif differ diff --git a/src/main/resources/ParrotGif/ryan.gif b/src/main/resources/ParrotGif/ryan.gif new file mode 100644 index 00000000..b518c777 Binary files /dev/null and b/src/main/resources/ParrotGif/ryan.gif differ diff --git a/src/main/resources/ParrotGif/will.gif b/src/main/resources/ParrotGif/will.gif new file mode 100644 index 00000000..e7b762de Binary files /dev/null and b/src/main/resources/ParrotGif/will.gif differ diff --git a/src/main/resources/views/LobbyView.fxml b/src/main/resources/views/LobbyView.fxml index 11830847..71b952fc 100644 --- a/src/main/resources/views/LobbyView.fxml +++ b/src/main/resources/views/LobbyView.fxml @@ -1,5 +1,6 @@ + @@ -13,14 +14,14 @@ - + - - + + @@ -28,7 +29,7 @@ - + @@ -41,27 +42,96 @@