diff --git a/src/main/java/seng302/gameServer/GameState.java b/src/main/java/seng302/gameServer/GameState.java index c37fe9cd..c279c363 100644 --- a/src/main/java/seng302/gameServer/GameState.java +++ b/src/main/java/seng302/gameServer/GameState.java @@ -69,7 +69,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 2b7a1b6f..bdb76171 100644 --- a/src/main/java/seng302/visualiser/controllers/RaceViewController.java +++ b/src/main/java/seng302/visualiser/controllers/RaceViewController.java @@ -55,6 +55,8 @@ public class RaceViewController extends Thread { @FXML private Pane chatHistoryHolder; @FXML + private JFXButton chatToggleButton; + @FXML private TextField chatInput; @FXML private Label timerLabel; @@ -112,6 +114,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); @@ -147,6 +151,9 @@ public class RaceViewController extends Thread { chatHistoryHolder.heightProperty() ); + contentStackPane.getChildren().remove(chatToggleButton); + contentStackPane.getChildren().add(chatToggleButton); + contentStackPane.setOnMouseClicked(event -> { contentStackPane.requestFocus(); }); @@ -197,6 +204,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()); } @@ -248,6 +258,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/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 aab10883..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 { @@ -61,6 +66,18 @@ GridPane .timer * { -fx-background-color: transparent; } -/*#windImageView {*/ -/*-fx-image: url("/images/wind-180.png");*/ -/*}*/ \ No newline at end of file +#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 bea821c4..d9e301dd 100644 --- a/src/main/resources/views/RaceView.fxml +++ b/src/main/resources/views/RaceView.fxml @@ -2,18 +2,21 @@ + + - + + @@ -295,7 +298,7 @@ - + @@ -307,9 +310,17 @@ + + + + + + + + - - + +