From 4f80640718be3862c50f77d630152d8b60f1ce66 Mon Sep 17 00:00:00 2001 From: Haoming Yin Date: Thu, 28 Sep 2017 16:33:16 +1300 Subject: [PATCH 1/2] Polished raceview UI elements - changed javaFx css style into Css file tags: #story[1273] --- .../visualiser/controllers/ViewManager.java | 15 +- src/main/resources/css/RaceView.css | 17 ++ src/main/resources/views/RaceView.fxml | 247 ++++++++++-------- 3 files changed, 160 insertions(+), 119 deletions(-) diff --git a/src/main/java/seng302/visualiser/controllers/ViewManager.java b/src/main/java/seng302/visualiser/controllers/ViewManager.java index b12a6c52..4ebe0b25 100644 --- a/src/main/java/seng302/visualiser/controllers/ViewManager.java +++ b/src/main/java/seng302/visualiser/controllers/ViewManager.java @@ -6,10 +6,16 @@ import com.jfoenix.controls.JFXDialog; import com.jfoenix.controls.JFXDialog.DialogTransition; import com.jfoenix.controls.JFXSnackbar; import com.jfoenix.svg.SVGGlyph; +import java.io.IOException; +import java.util.HashMap; import javafx.application.Platform; import javafx.collections.ObservableList; import javafx.fxml.FXMLLoader; -import javafx.scene.*; +import javafx.scene.Cursor; +import javafx.scene.Node; +import javafx.scene.Parent; +import javafx.scene.Scene; +import javafx.scene.SceneAntialiasing; import javafx.scene.image.Image; import javafx.scene.layout.HBox; import javafx.scene.layout.StackPane; @@ -24,9 +30,6 @@ import seng302.visualiser.GameClient; import seng302.visualiser.controllers.dialogs.KeyBindingDialogController; import seng302.visualiser.controllers.dialogs.PopupDialogController; -import java.io.IOException; -import java.util.HashMap; - public class ViewManager { private static ViewManager instance; @@ -376,8 +379,8 @@ public class ViewManager { scene.setOnKeyPressed(gameClient::keyPressed); scene.setOnKeyReleased(gameClient::keyReleased); - stage.setMinHeight(500); - stage.setMinWidth(800); + stage.setMinHeight(800); + stage.setMinWidth(1200); stage.setTitle("Party Parrots At Sea"); stage.getIcons().add(new Image(getClass().getResourceAsStream("/PP.png"))); stage.setOnCloseRequest(e -> closeAll()); diff --git a/src/main/resources/css/RaceView.css b/src/main/resources/css/RaceView.css index f38216c8..bf98c98b 100644 --- a/src/main/resources/css/RaceView.css +++ b/src/main/resources/css/RaceView.css @@ -5,6 +5,7 @@ #timerGrid{ -fx-background-color: rgba(255, 255, 255, 0.6); -fx-effect: -fx-pp-dropshadow-light; + -fx-background-radius: 5; } GridPane .timer * { @@ -27,20 +28,24 @@ GridPane .timer * { #chatHistoryHolder { -fx-background-color: rgba(255, 255, 255, 0.6); -fx-effect: -fx-pp-dropshadow-light; + -fx-background-radius: 5; } #chatInputHolder { -fx-background-color: rgba(255, 255, 255, 0.6); -fx-effect: -fx-pp-dropshadow-light; + -fx-background-radius: 5; } #windGridPane { -fx-background-color: rgba(255, 255, 255, 0.6); -fx-effect: -fx-pp-dropshadow-light; + -fx-background-radius: 5; } #windHolder { -fx-background-color: rgba(255, 255, 255, 0.5); + -fx-background-radius: 5; } #chatSend { @@ -63,4 +68,16 @@ GridPane .timer * { #windImageView { -fx-image: url("/images/wind-180.png"); +} + +#miniMapPane { + -fx-background-color: rgba(255, 255, 255, 0.6); + -fx-background-radius: 5; +} + +#miniMapButton { + -fx-background-color: rgba(255, 255, 255, 0.6); + -fx-background-radius: 5; + -fx-min-width: 30; + -fx-min-height: 30; } \ No newline at end of file diff --git a/src/main/resources/views/RaceView.fxml b/src/main/resources/views/RaceView.fxml index 4113af3a..267779f5 100644 --- a/src/main/resources/views/RaceView.fxml +++ b/src/main/resources/views/RaceView.fxml @@ -1,59 +1,54 @@ - - - - - - - + - + + - + maxWidth="1.7976931348623157E308" minHeight="-Infinity" minWidth="-Infinity" + prefHeight="800.0" prefWidth="1200.0" style="-fx-background-color: skyblue;" + xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1"> + prefHeight="800.0" prefWidth="1200.0"> + prefWidth="250.0"/> - + + vgrow="SOMETIMES"/> + valignment="BOTTOM" vgrow="SOMETIMES"/> - - + + - + @@ -63,8 +58,8 @@ + preserveRatio="true" GridPane.halignment="CENTER" + GridPane.valignment="CENTER"> @@ -72,8 +67,9 @@ - - - + + - + - + - - + + - + - + - + prefWidth="100.0"/> + - + - + - + + maxHeight="35.0" minHeight="-Infinity" + prefHeight="35.0"> @@ -153,31 +160,33 @@ - + - - + + - - + + - - + - + @@ -306,12 +324,15 @@ - - + + + + - - + + From a1d468c689a9950f4e0485b3cc52287425a783a5 Mon Sep 17 00:00:00 2001 From: William Muir Date: Thu, 28 Sep 2017 16:39:59 +1300 Subject: [PATCH 2/2] Added toggle button for the chat history #story[1274] --- .../java/seng302/gameServer/GameState.java | 2 +- .../controllers/RaceViewController.java | 20 +++++++++++++++++++ src/main/resources/views/RaceView.fxml | 20 +++++++++++++++++-- 3 files changed, 39 insertions(+), 3 deletions(-) diff --git a/src/main/java/seng302/gameServer/GameState.java b/src/main/java/seng302/gameServer/GameState.java index f5e2e2fd..98d6a8a3 100644 --- a/src/main/java/seng302/gameServer/GameState.java +++ b/src/main/java/seng302/gameServer/GameState.java @@ -68,7 +68,7 @@ public class GameState implements Runnable { //Collision constants private static final Double MARK_COLLISION_DISTANCE = 15d; - public static final Double YACHT_COLLISION_DISTANCE = 25.0; + public static final Double YACHT_COLLISION_DISTANCE = 15.0; private static final Double BOUNCE_DISTANCE_MARK = 20.0; public static final Double BOUNCE_DISTANCE_YACHT = 30.0; private static final Double COLLISION_VELOCITY_PENALTY = 0.3; diff --git a/src/main/java/seng302/visualiser/controllers/RaceViewController.java b/src/main/java/seng302/visualiser/controllers/RaceViewController.java index 0667b894..8827438b 100644 --- a/src/main/java/seng302/visualiser/controllers/RaceViewController.java +++ b/src/main/java/seng302/visualiser/controllers/RaceViewController.java @@ -50,6 +50,8 @@ public class RaceViewController extends Thread { @FXML private Pane chatHistoryHolder; @FXML + private JFXButton chatToggleButton; + @FXML private TextField chatInput; @FXML private Label timerLabel; @@ -85,6 +87,8 @@ public class RaceViewController extends Thread { public void initialize() { miniMapPane.setVisible(false); miniMapButton.setVisible(false); + chatHistoryHolder.setVisible(false); + chatToggleButton.setVisible(false); contentStackPane.setVisible(false); Image loadingImage = new Image("PP.png"); loadingScreen.setImage(loadingImage); @@ -120,6 +124,9 @@ public class RaceViewController extends Thread { chatHistoryHolder.heightProperty() ); + contentStackPane.getChildren().remove(chatToggleButton); + contentStackPane.getChildren().add(chatToggleButton); + contentStackPane.setOnMouseClicked(event -> { contentStackPane.requestFocus(); }); @@ -146,6 +153,9 @@ public class RaceViewController extends Thread { contentStackPane.setVisible(true); miniMapPane.setVisible(true); miniMapButton.setVisible(true); + chatHistoryHolder.setVisible(true); + chatToggleButton.setVisible(true); + Platform.runLater(() -> contentStackPane.requestFocus()); } @@ -197,6 +207,16 @@ public class RaceViewController extends Thread { } }); + chatToggleButton.setOnMouseClicked((event) -> { + if (chatHistoryHolder.visibleProperty().get()) { + chatHistoryHolder.setVisible(false); + chatToggleButton.setText("+"); + } else { + chatHistoryHolder.setVisible(true); + chatToggleButton.setText("—"); + } + }); + Platform.runLater(() -> { contentStackPane.getChildren().add(0, gameView.getAssets()); ((SubScene) gameView.getAssets()).widthProperty() diff --git a/src/main/resources/views/RaceView.fxml b/src/main/resources/views/RaceView.fxml index 267779f5..45398d3b 100644 --- a/src/main/resources/views/RaceView.fxml +++ b/src/main/resources/views/RaceView.fxml @@ -1,5 +1,13 @@ + + + + + + + + @@ -15,6 +23,7 @@ + - + @@ -330,6 +338,14 @@ + + + + + + + +