From eea394372fe93cc10a7f55acd573da1d6892169e Mon Sep 17 00:00:00 2001 From: zwu18 Date: Tue, 19 Sep 2017 18:23:45 +1200 Subject: [PATCH 01/10] Race is now showing a speedometer in the bottom right corner. Next step is to update with speed of boat and improve appearance. #story[1311] --- racevisionGame/pom.xml | 6 ++++ .../Controllers/RaceViewController.java | 14 ++++++++++ .../visualiser/scenes/newRaceView.fxml | 13 +++++++-- .../resources/visualiser/scenes/raceView.fxml | 28 +++++++++---------- .../resources/visualiser/scenes/title.fxml | 7 ++++- 5 files changed, 50 insertions(+), 18 deletions(-) diff --git a/racevisionGame/pom.xml b/racevisionGame/pom.xml index 98ccaf82..444d727a 100644 --- a/racevisionGame/pom.xml +++ b/racevisionGame/pom.xml @@ -29,6 +29,12 @@ 2.9.0 + + eu.hansolo + Medusa + 7.9 + + net.bytebuddy diff --git a/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java b/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java index c2153c1f..c252a646 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java @@ -1,6 +1,8 @@ package visualiser.Controllers; import com.interactivemesh.jfx.importer.stl.StlMeshImporter; +import eu.hansolo.medusa.Gauge; +import eu.hansolo.medusa.GaugeBuilder; import javafx.animation.AnimationTimer; import javafx.application.Platform; import javafx.collections.FXCollections; @@ -93,6 +95,7 @@ public class RaceViewController extends Controller { private @FXML Label tutorialText; private @FXML AnchorPane infoWrapper; private @FXML AnchorPane lineChartWrapper; + private @FXML StackPane speedPane; /** * Displays a specified race. @@ -200,6 +203,16 @@ public class RaceViewController extends Controller { }); } + /** + * Create speedometer + */ + private void initialiseSpeedometer() { + Gauge gauge = GaugeBuilder.create().title("Speedometer").subTitle("Speed").unit("Knots").build(); + gauge.valueProperty().setValue(100); + speedPane.getChildren().add(gauge); + + } + /** * Initialises the various UI components to listen to the {@link #visualiserRace}. */ @@ -222,6 +235,7 @@ public class RaceViewController extends Controller { initialiseInfoTable(); initialiseView3D(this.visualiserRace); initialiseRaceClock(); + initialiseSpeedometer(); raceTimer(); // start the timer new Sparkline(this.raceState, this.sparklineChart); timeZone.setText(this.raceState.getRaceClock().getTimeZone()); diff --git a/racevisionGame/src/main/resources/visualiser/scenes/newRaceView.fxml b/racevisionGame/src/main/resources/visualiser/scenes/newRaceView.fxml index 76195416..6387d79b 100644 --- a/racevisionGame/src/main/resources/visualiser/scenes/newRaceView.fxml +++ b/racevisionGame/src/main/resources/visualiser/scenes/newRaceView.fxml @@ -1,5 +1,11 @@ + + + + + + @@ -22,7 +28,7 @@ - + @@ -79,7 +85,7 @@ -