diff --git a/racevisionGame/src/main/java/shared/model/RaceClock.java b/racevisionGame/src/main/java/shared/model/RaceClock.java index 3ce61245..9a1d4e84 100644 --- a/racevisionGame/src/main/java/shared/model/RaceClock.java +++ b/racevisionGame/src/main/java/shared/model/RaceClock.java @@ -68,11 +68,11 @@ public class RaceClock { /** * Format string used for duration before it has started. */ - private String durationBeforeStartFormat = "Starting in: %02d:%02d:%02d"; + private String durationBeforeStartFormat = "%02d:%02d:%02d"; /** * Format string used for duration once the race has started. */ - private String durationAfterStartFormat = "Time: %02d:%02d:%02d"; + private String durationAfterStartFormat = "%02d:%02d:%02d"; diff --git a/racevisionGame/src/main/java/visualiser/Controllers/NextMarkController.java b/racevisionGame/src/main/java/visualiser/Controllers/NextMarkController.java index 20da6f3c..a51e519d 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/NextMarkController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/NextMarkController.java @@ -67,9 +67,9 @@ public class NextMarkController { Shape3D arrow = Assets3D.loadX3d(arrowPath); - arrow.setScaleX(25); + arrow.setScaleX(15); arrow.setScaleY(25); - arrow.setScaleZ(100); + arrow.setScaleZ(50); arrow.setRotationAxis(new Point3D(1,0,0)); arrowStackPane3d.getChildren().add(arrow); diff --git a/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java b/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java index 895f0af1..81e1ca36 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java @@ -1,9 +1,7 @@ package visualiser.Controllers; import com.interactivemesh.jfx.importer.stl.StlMeshImporter; -import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer; import eu.hansolo.medusa.*; -import eu.hansolo.medusa.events.UpdateEvent; import javafx.animation.AnimationTimer; import javafx.application.Platform; import javafx.collections.FXCollections; @@ -95,6 +93,7 @@ public class RaceViewController extends Controller { private @FXML NextMarkController nextMarkController; private @FXML GridPane canvasBase; private @FXML GridPane canvasBase1; + private @FXML GridPane canvasBase2; private @FXML SplitPane racePane; private @FXML StackPane arrowPane; private @FXML Pane nextMarkPane; @@ -136,9 +135,9 @@ public class RaceViewController extends Controller { deathPane.setVisible(false); tutorialCheck(); initKeypressHandler(); - initialiseRaceVisuals(); - initialiseRaceCanvas(); healthLoop(); + initialiseRaceVisuals(); + } /** @@ -292,7 +291,7 @@ public class RaceViewController extends Controller { //Create a gauge with a frame and background that utilizes a Medusa gauge fGauge = FGaugeBuilder .create() - .prefSize(200, 200) + .prefSize(190, 190) .gauge(gauge) .gaugeDesign(GaugeDesign.METAL) .gaugeBackground(GaugeDesign.GaugeBackground.CARBON) @@ -313,12 +312,11 @@ public class RaceViewController extends Controller { initialiseHealthPane(); initialiseRaceClock(); initialiseSpeedometer(); + initialiseRaceCanvas(); raceTimer(); // start the timer - nextMarkPane.toFront(); + //nextMarkPane.toFront(); speedometerLoop(); new Sparkline(this.raceState, this.sparklineChart); - timeZone.setText(this.raceState.getRaceClock().getTimeZone()); - arrowController.setWindProperty(this.raceState.windProperty()); } @@ -1080,22 +1078,23 @@ public class RaceViewController extends Controller { private void bigMap(){ if (mapToggle){ - raceCanvas.widthProperty().bind(canvasBase.widthProperty()); - raceCanvas.heightProperty().bind(canvasBase.heightProperty()); + raceCanvas.widthProperty().bind(canvasBase2.widthProperty()); + raceCanvas.heightProperty().bind(canvasBase2.heightProperty()); raceCanvas.setFullScreen(true); raceCanvas.setOpacity(0.6); canvasBase1.getChildren().remove(raceCanvas); - canvasBase.getChildren().add(1, raceCanvas); + canvasBase2.getChildren().add(0, raceCanvas); }else{ raceCanvas.widthProperty().bind(canvasBase1.widthProperty()); raceCanvas.heightProperty().bind(canvasBase1.heightProperty()); raceCanvas.setFullScreen(false); + raceCanvas.setOpacity(1); - canvasBase.getChildren().remove(raceCanvas); + canvasBase2.getChildren().remove(raceCanvas); canvasBase1.getChildren().add(0, raceCanvas); } mapToggle = !mapToggle; diff --git a/racevisionGame/src/main/java/visualiser/layout/WindCompass.java b/racevisionGame/src/main/java/visualiser/layout/WindCompass.java index 6a42fb2d..dcb05298 100644 --- a/racevisionGame/src/main/java/visualiser/layout/WindCompass.java +++ b/racevisionGame/src/main/java/visualiser/layout/WindCompass.java @@ -25,7 +25,7 @@ public class WindCompass extends View3D { }; public WindCompass(View3D view3D, Property wind){ - super(); + super(false); this.wind = wind; this.view3D = view3D; this.followView3D.start(); diff --git a/racevisionGame/src/main/java/visualiser/model/ResizableRaceCanvas.java b/racevisionGame/src/main/java/visualiser/model/ResizableRaceCanvas.java index 822addbc..b6f41a07 100644 --- a/racevisionGame/src/main/java/visualiser/model/ResizableRaceCanvas.java +++ b/racevisionGame/src/main/java/visualiser/model/ResizableRaceCanvas.java @@ -647,7 +647,7 @@ public class ResizableRaceCanvas extends ResizableCanvas { //rounding lines if (isFullScreen){ - drawRoundingLines(); +// drawRoundingLines(); drawRaceLine(); } @@ -794,18 +794,11 @@ public class ResizableRaceCanvas extends ResizableCanvas { } private Color getLineColor(Leg leg) { - for (VisualiserBoat boat : raceState.getBoats()) { - if (boat.isClientBoat()) { - if (boat.getCurrentLeg() == leg) { - return Color.ORANGE; - } else { - return Color.MEDIUMAQUAMARINE; - } - }else{ - return Color.MEDIUMAQUAMARINE; - } + if(ThisBoat.getInstance().getLegNumber() == leg.getLegNumber()){ + return Color.ORANGE; + }else{ + return Color.MEDIUMAQUAMARINE; } - return Color.MEDIUMAQUAMARINE; } private void drawArrowHead(GPSCoordinate start, GPSCoordinate end){ diff --git a/racevisionGame/src/main/java/visualiser/model/ThisBoat.java b/racevisionGame/src/main/java/visualiser/model/ThisBoat.java index 920dcbd9..c8fa493e 100644 --- a/racevisionGame/src/main/java/visualiser/model/ThisBoat.java +++ b/racevisionGame/src/main/java/visualiser/model/ThisBoat.java @@ -35,6 +35,14 @@ public class ThisBoat { } } + public int getLegNumber(){ + if(this.boat != null){ + return this.boat.getCurrentLeg().getLegNumber(); + }else{ + return 0; + } + } + public void setBoat(VisualiserBoat boat) { this.boat = boat; } diff --git a/racevisionGame/src/main/resources/images/raceViewUI_LowerLeft.png b/racevisionGame/src/main/resources/images/raceViewUI_LowerLeft.png new file mode 100644 index 00000000..591f1e4b Binary files /dev/null and b/racevisionGame/src/main/resources/images/raceViewUI_LowerLeft.png differ diff --git a/racevisionGame/src/main/resources/images/raceViewUI_LowerMiddle.png b/racevisionGame/src/main/resources/images/raceViewUI_LowerMiddle.png new file mode 100644 index 00000000..be33ffe0 Binary files /dev/null and b/racevisionGame/src/main/resources/images/raceViewUI_LowerMiddle.png differ diff --git a/racevisionGame/src/main/resources/images/raceViewUI_LowerRight.png b/racevisionGame/src/main/resources/images/raceViewUI_LowerRight.png new file mode 100644 index 00000000..8a3c0372 Binary files /dev/null and b/racevisionGame/src/main/resources/images/raceViewUI_LowerRight.png differ diff --git a/racevisionGame/src/main/resources/images/raceViewUI_UpperMiddle.png b/racevisionGame/src/main/resources/images/raceViewUI_UpperMiddle.png new file mode 100644 index 00000000..3cb7a5be Binary files /dev/null and b/racevisionGame/src/main/resources/images/raceViewUI_UpperMiddle.png differ diff --git a/racevisionGame/src/main/resources/visualiser/images/arrowSmall.png b/racevisionGame/src/main/resources/visualiser/images/arrowSmall.png new file mode 100644 index 00000000..8f7841fd Binary files /dev/null and b/racevisionGame/src/main/resources/visualiser/images/arrowSmall.png differ diff --git a/racevisionGame/src/main/resources/visualiser/images/tomato.png b/racevisionGame/src/main/resources/visualiser/images/tomato.png index 92cf4c1d..80b9b804 100644 Binary files a/racevisionGame/src/main/resources/visualiser/images/tomato.png and b/racevisionGame/src/main/resources/visualiser/images/tomato.png differ diff --git a/racevisionGame/src/main/resources/visualiser/images/tomato_old.png b/racevisionGame/src/main/resources/visualiser/images/tomato_old.png new file mode 100644 index 00000000..92cf4c1d Binary files /dev/null and b/racevisionGame/src/main/resources/visualiser/images/tomato_old.png differ diff --git a/racevisionGame/src/main/resources/visualiser/scenes/arrow.fxml b/racevisionGame/src/main/resources/visualiser/scenes/arrow.fxml index 196c4c10..4367855f 100644 --- a/racevisionGame/src/main/resources/visualiser/scenes/arrow.fxml +++ b/racevisionGame/src/main/resources/visualiser/scenes/arrow.fxml @@ -1,49 +1,64 @@ - - + + + + - + + - - + + - + + + + + + + - + - + + - - - - + @@ -100,6 +88,21 @@ + + + + + + + + + + + @@ -111,44 +114,16 @@ - - - - - - - - - - - - - -