From 201b9f00515838bf0cfdc42bb3386d0c5a2ddb54 Mon Sep 17 00:00:00 2001 From: zwu18 Date: Tue, 19 Sep 2017 21:10:48 +1200 Subject: [PATCH] Linked users boat speed up with speedometer UI. #story[1311] --- .../Controllers/RaceViewController.java | 33 ++++++++++++++++--- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java b/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java index c252a646..d11e8c54 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java @@ -1,8 +1,7 @@ package visualiser.Controllers; import com.interactivemesh.jfx.importer.stl.StlMeshImporter; -import eu.hansolo.medusa.Gauge; -import eu.hansolo.medusa.GaugeBuilder; +import eu.hansolo.medusa.*; import javafx.animation.AnimationTimer; import javafx.application.Platform; import javafx.collections.FXCollections; @@ -67,6 +66,8 @@ public class RaceViewController extends Controller { private String keyToPress; private View3D view3D; private ObservableList viewSubjects; + private Gauge gauge; + private FGauge fGauge; /** * Arrow pointing to next mark in third person @@ -207,9 +208,24 @@ 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); + gauge = GaugeBuilder.create().title("Speedometer").subTitle("Speed").unit("Knots").skinType(Gauge.SkinType.FLAT).build(); + gauge.setValueColor(Color.WHITE); + gauge.setTitleColor(Color.WHITE); + gauge.setSubTitleColor(Color.WHITE); + gauge.setBarColor(Color.WHITE); + gauge.setUnitColor(Color.WHITE); + gauge.setMaxValue(40); + fGauge = FGaugeBuilder.create() + .gauge(gauge) + .gaugeDesign(GaugeDesign.METAL) + .gaugeBackground(GaugeDesign.GaugeBackground.CARBON) + .foregroundVisible(true) + .build(); + gauge.valueProperty().setValue(0); + gauge.setAnimated(true); + //fGauge.getGauge().valueProperty().setValue(0); + //fGauge.getGauge().maxValueProperty().setValue(50); + speedPane.getChildren().add(fGauge); } @@ -623,6 +639,12 @@ public class RaceViewController extends Controller { } } else { boatInfoTable.sort(); + + try { + gauge.setValue(raceState.getBoat(raceState.getPlayerBoatID()).getCurrentSpeed()); + } catch (BoatNotFoundException e) { + e.printStackTrace(); + } } //Return to main screen if we lose connection. @@ -639,6 +661,7 @@ public class RaceViewController extends Controller { }.start(); } + /** * toggles if the info table is shown */