From b0bc7f50f233889f6ab5234c94cfa8f48a91f0e5 Mon Sep 17 00:00:00 2001 From: Connor Taylor-Brown Date: Wed, 20 Sep 2017 18:22:14 +1200 Subject: [PATCH] Updated FXMLs to add depleting tomato - Tab view now contains health column - BoatStateCommand now fails silently if command is received before race state is set up #story[1291] --- .../BoatStateCommand.java | 2 +- .../Controllers/RaceViewController.java | 22 ++++++----- .../resources/visualiser/images/tomato.png | Bin 0 -> 5610 bytes .../visualiser/scenes/newRaceView.fxml | 37 ++++++++++++------ 4 files changed, 37 insertions(+), 24 deletions(-) create mode 100644 racevisionGame/src/main/resources/visualiser/images/tomato.png diff --git a/racevisionGame/src/main/java/visualiser/Commands/VisualiserRaceCommands/BoatStateCommand.java b/racevisionGame/src/main/java/visualiser/Commands/VisualiserRaceCommands/BoatStateCommand.java index 1362e647..85a1e00e 100644 --- a/racevisionGame/src/main/java/visualiser/Commands/VisualiserRaceCommands/BoatStateCommand.java +++ b/racevisionGame/src/main/java/visualiser/Commands/VisualiserRaceCommands/BoatStateCommand.java @@ -24,7 +24,7 @@ public class BoatStateCommand implements Command { VisualiserBoat boat = visualiserRace.getBoat(boatState.getSourceID()); boat.setHealth(boatState.getBoatHealth()); } catch (BoatNotFoundException e) { - e.printStackTrace(); + // Fail silently } } } diff --git a/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java b/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java index 5e5d7ad5..8b8daf4f 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java @@ -85,14 +85,15 @@ public class RaceViewController extends Controller { private @FXML Label timeZone; private @FXML CheckBox showFPS; private @FXML TableView boatInfoTable; - private @FXML TableColumn boatPlacingColumn; private @FXML TableColumn boatTeamColumn; private @FXML TableColumn boatMarkColumn; private @FXML TableColumn boatSpeedColumn; + private @FXML TableColumn boatHealthColumn; private @FXML LineChart sparklineChart; private @FXML Label tutorialText; private @FXML AnchorPane infoWrapper; private @FXML AnchorPane lineChartWrapper; + private @FXML GridPane playerHealthContainer; /** * Displays a specified race. @@ -334,12 +335,9 @@ public class RaceViewController extends Controller { boat.legProperty().addListener((o, prev, curr) -> Platform.runLater(() -> swapColours(curr))); boat.hasCollidedProperty().addListener((o, prev, curr) -> Platform.runLater(() -> showCollision(boat, shockwave))); - boat.healthProperty().addListener((o, prev, curr) -> { - System.out.println("Tab view: " + curr); - }); if(boat.getSourceID() == race.getVisualiserRaceState().getPlayerBoatID()) { boat.healthProperty().addListener((o, prev, curr) -> { - System.out.println("Tomato: " + curr); + System.out.println(curr); }); } } @@ -529,13 +527,17 @@ public class RaceViewController extends Controller { // set table data boatInfoTable.setItems(sortedBoats); boatTeamColumn.setCellValueFactory( - cellData -> cellData.getValue().nameProperty()); + cellData -> cellData.getValue().nameProperty() + ); boatSpeedColumn.setCellValueFactory( - cellData -> cellData.getValue().currentSpeedProperty()); + cellData -> cellData.getValue().currentSpeedProperty() + ); boatMarkColumn.setCellValueFactory( - cellData -> cellData.getValue().legProperty()); - boatPlacingColumn.setCellValueFactory( - cellData -> cellData.getValue().placingProperty()); + cellData -> cellData.getValue().legProperty() + ); + boatHealthColumn.setCellValueFactory( + cellData -> cellData.getValue().healthProperty() + ); //Kind of ugly, but allows for formatting an observed speed. boatSpeedColumn.setCellFactory( diff --git a/racevisionGame/src/main/resources/visualiser/images/tomato.png b/racevisionGame/src/main/resources/visualiser/images/tomato.png new file mode 100644 index 0000000000000000000000000000000000000000..92cf4c1d4a3c72091823e525d9a77c9c4d1b0442 GIT binary patch literal 5610 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 E0mGP=vH$=8 literal 0 HcmV?d00001 diff --git a/racevisionGame/src/main/resources/visualiser/scenes/newRaceView.fxml b/racevisionGame/src/main/resources/visualiser/scenes/newRaceView.fxml index 76195416..3a1f61e9 100644 --- a/racevisionGame/src/main/resources/visualiser/scenes/newRaceView.fxml +++ b/racevisionGame/src/main/resources/visualiser/scenes/newRaceView.fxml @@ -3,26 +3,26 @@ - - - - - - - - - + + + + + + + + + @@ -103,6 +103,17 @@