Merge branch 'master' into nightmode
@@ -67,8 +67,6 @@ public class HostGameController extends Controller {
|
||||
sliderLength.setShowTickLabels(true);
|
||||
sliderLength.setMajorTickUnit(MAX_RACE_LENGTH-1);
|
||||
sliderLength.setBlockIncrement(1);
|
||||
|
||||
sliderLength.getStylesheets().add("/css/slider.css");
|
||||
}
|
||||
|
||||
|
||||
@@ -85,8 +83,8 @@ public class HostGameController extends Controller {
|
||||
listOfMaps = new ArrayList(Arrays.asList(ac35Map, oMap, iMap, mMap));
|
||||
mapImage.setImage(listOfMaps.get(currentMapIndex));
|
||||
Platform.runLater(() -> {
|
||||
mapImage.fitWidthProperty()
|
||||
.bind(mapImage.getScene().getWindow().widthProperty().multiply(0.6));
|
||||
mapImage.fitHeightProperty()
|
||||
.bind(mapImage.getScene().getWindow().heightProperty().multiply(0.6));
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ package visualiser.Controllers;
|
||||
|
||||
import com.interactivemesh.jfx.importer.stl.StlMeshImporter;
|
||||
import javafx.animation.AnimationTimer;
|
||||
import javafx.application.Platform;
|
||||
import javafx.collections.FXCollections;
|
||||
import javafx.collections.ObservableList;
|
||||
import javafx.fxml.FXML;
|
||||
@@ -12,6 +13,7 @@ import javafx.scene.control.RadioButton;
|
||||
import javafx.scene.control.ToggleGroup;
|
||||
import javafx.scene.image.Image;
|
||||
import javafx.scene.image.ImageView;
|
||||
import javafx.scene.layout.AnchorPane;
|
||||
import javafx.scene.layout.GridPane;
|
||||
import javafx.scene.layout.Pane;
|
||||
import javafx.scene.media.AudioClip;
|
||||
@@ -42,6 +44,7 @@ import java.util.logging.Logger;
|
||||
* the game.
|
||||
*/
|
||||
public class TitleController extends Controller {
|
||||
private @FXML AnchorPane titleWrapper;
|
||||
private @FXML RadioButton dayModeRD;
|
||||
private @FXML RadioButton nightModeRD;
|
||||
private @FXML Button tutorialButton;
|
||||
@@ -106,6 +109,8 @@ public class TitleController extends Controller {
|
||||
}
|
||||
};
|
||||
loop.start();
|
||||
|
||||
titleWrapper.getStylesheets().add("/css/dayMode.css");
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -81,9 +81,9 @@ public class View3D extends Pane {
|
||||
/**
|
||||
* Distance to stop zoom
|
||||
*/
|
||||
private final double ZOOM_IN_LIMIT = 3;
|
||||
private final double ZOOM_IN_LIMIT = 15;
|
||||
private final double ZOOM_OUT_LIMIT = 700;
|
||||
private final double MAX_ZOOM_LIMIT = 1500;
|
||||
private final double MAX_ZOOM_LIMIT = 1150;
|
||||
private final double MAX_PITCH = 60; // birds eye view
|
||||
private final double MIN_PITCH = 5; // third person view
|
||||
private final double ZOOM_PER_KEYPRESS = 5; // distance changed per zoom
|
||||
@@ -188,7 +188,7 @@ public class View3D extends Pane {
|
||||
* Configures camera to third person view
|
||||
*/
|
||||
public void setThirdPerson() {
|
||||
this.setDistance(ZOOM_IN_LIMIT * 2);
|
||||
this.setDistance(ZOOM_IN_LIMIT * 5);
|
||||
adjustPitchForZoom();
|
||||
adjustScaleForZoom();
|
||||
}
|
||||
|
||||
@@ -605,7 +605,7 @@ public class ResizableRaceCanvas extends ResizableCanvas {
|
||||
|
||||
//Prepare to draw.
|
||||
gc.setLineWidth(1);
|
||||
gc.setFill(Color.DEEPSKYBLUE);
|
||||
gc.setFill(Color.web("#f1f1d4"));
|
||||
|
||||
|
||||
//Calculate the screen coordinates of the boundary.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
.root {
|
||||
-fx-base: rgb(215, 232, 218);
|
||||
-fx-background: rgb(242, 242, 242);
|
||||
-fx-background: rgba(0, 255, 190, 0.11);
|
||||
|
||||
/* make controls (buttons, thumb, etc.) slightly lighter */
|
||||
-fx-color: derive(-fx-base, 2.5%);
|
||||
@@ -25,6 +25,121 @@
|
||||
-fx-focus-color: rgb(128, 128, 128);
|
||||
}
|
||||
|
||||
/* Titles */
|
||||
#title {
|
||||
-fx-font-size: 32px;
|
||||
-fx-font-family: "Trebuchet MS";
|
||||
-fx-text-fill: rgb(10, 123, 125);
|
||||
}
|
||||
|
||||
/* Regular text */
|
||||
#lblLength {
|
||||
-fx-font-family: "Trebuchet MS";
|
||||
}
|
||||
|
||||
|
||||
/* Buttons */
|
||||
#hostAGameBtn, #hostGameBtn, #btnJoin, #tutorialButton, #controlsBtn,
|
||||
#mainMenuBtn, #addBtn, #refreshBtn, #joinGameBtn, #spectateButton,
|
||||
#quitBtn, #startButton
|
||||
{
|
||||
-fx-background-size: 150px;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-background-position: center center;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
-fx-text-fill: transparent;
|
||||
/*-fx-border-color: rgb(10, 123, 125);*/
|
||||
/*-fx-border-width: 2px;*/
|
||||
}
|
||||
|
||||
/* Smaller buttons */
|
||||
#mainMenuBtn, #addBtn, #refreshBtn, #joinGameBtn, #spectateButton, #quitBtn, #startButton{
|
||||
-fx-background-size: 115px;
|
||||
}
|
||||
|
||||
/* Images for buttons */
|
||||
/* Title menu buttons */
|
||||
#hostAGameBtn {
|
||||
-fx-background-image: url("/visualiser/images/hostAGameBtn.png");
|
||||
}
|
||||
#hostAGameBtn:pressed {
|
||||
-fx-background-image: url("/visualiser/images/hostAGameBtnPressed.png");
|
||||
}
|
||||
#btnJoin {
|
||||
-fx-background-image: url("/visualiser/images/JoinAGameBtn.png");
|
||||
}
|
||||
#btnJoin:pressed {
|
||||
-fx-background-image: url("/visualiser/images/JoinAGameBtnPressed.png");
|
||||
}
|
||||
#tutorialButton {
|
||||
-fx-background-image: url("/visualiser/images/howToPlayBtn.png");
|
||||
}
|
||||
#tutorialButton:pressed {
|
||||
-fx-background-image: url("/visualiser/images/howToPlayBtnPressed.png");
|
||||
}
|
||||
#controlsBtn {
|
||||
-fx-background-image: url("/visualiser/images/controlsBtn.png");
|
||||
}
|
||||
#controlsBtn:pressed {
|
||||
-fx-background-image: url("/visualiser/images/controlsBtnPressed.png");
|
||||
}
|
||||
|
||||
/* host game lobby buttons */
|
||||
#hostGameBtn {
|
||||
-fx-background-image: url("/visualiser/images/startGameBtn.png");
|
||||
}
|
||||
#hostGameBtn:pressed {
|
||||
-fx-background-image: url("/visualiser/images/startGameBtnPressed.png");
|
||||
}
|
||||
#mainMenuBtn {
|
||||
-fx-background-image: url("/visualiser/images/mainMenuBtn.png");
|
||||
/*-fx-background-size: 115px;*/
|
||||
}
|
||||
#mainMenuBtn:pressed {
|
||||
-fx-background-image: url("/visualiser/images/mainMenuBtnPressed.png");
|
||||
}
|
||||
#startButton{
|
||||
-fx-background-image: url("/visualiser/images/startBtn.png");
|
||||
}
|
||||
|
||||
#startButton:pressed {
|
||||
-fx-background-image: url("/visualiser/images/startBtnPressed.png");
|
||||
}
|
||||
/* match browsing lobby buttons */
|
||||
#addBtn {
|
||||
-fx-background-image: url("/visualiser/images/addBtn.png");
|
||||
}
|
||||
#addBtn:pressed {
|
||||
-fx-background-image: url("/visualiser/images/addBtnPressed.png");
|
||||
}
|
||||
#refreshBtn {
|
||||
-fx-background-image: url("/visualiser/images/refreshBtn.png");
|
||||
}
|
||||
#refreshBtn:pressed {
|
||||
-fx-background-image: url("/visualiser/images/refreshBtnPressed.png");
|
||||
}
|
||||
#joinGameBtn {
|
||||
-fx-background-image: url("/visualiser/images/participateBtn.png");
|
||||
}
|
||||
#joinGameBtn:pressed {
|
||||
-fx-background-image: url("/visualiser/images/participateBtnPressed.png");
|
||||
}
|
||||
#spectateButton {
|
||||
-fx-background-image: url("/visualiser/images/spectateBtn.png");
|
||||
}
|
||||
#spectateButton:pressed {
|
||||
-fx-background-image: url("/visualiser/images/spectateBtnPressed.png");
|
||||
}
|
||||
|
||||
/* in-game lobby buttons */
|
||||
#quitBtn {
|
||||
-fx-background-image: url("/visualiser/images/quitBtn.png");
|
||||
}
|
||||
#quitBtn:pressed {
|
||||
-fx-background-image: url("/visualiser/images/quitBtnPressed.png");
|
||||
}
|
||||
|
||||
/* Fix derived prompt color for text fields */
|
||||
.text-input {
|
||||
-fx-prompt-text-fill: derive(-fx-control-inner-background, +0%);
|
||||
@@ -56,39 +171,45 @@
|
||||
-fx-graphic: url("/visualiser/images/arrow.png");
|
||||
}
|
||||
|
||||
#nextButton {
|
||||
-fx-background-image: url("/visualiser/images/ArrowRoundRight.png");
|
||||
-fx-background-size: 60px;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-background-position: center center;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
#nextButton:pressed {
|
||||
-fx-background-image: url("/visualiser/images/ArrowRoundRightClicked.png");
|
||||
-fx-background-size: 60px;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-background-position: center center;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
/* Host Game / Map Selection */
|
||||
#nextButton, #previousButton {
|
||||
-fx-background-image: url("/visualiser/images/ArrowClick.png");
|
||||
-fx-background-size: 60px;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-background-position: center center;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
-fx-border-color: transparent;
|
||||
}
|
||||
|
||||
#previousButton {
|
||||
-fx-background-image: url("/visualiser/images/ArrowRoundLeft.png");
|
||||
-fx-background-size: 60px;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-background-position: center center;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
#previousButton:pressed {
|
||||
-fx-background-image: url("/visualiser/images/ArrowRoundLeftClicked.png");
|
||||
-fx-background-size: 60px;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-background-position: center center;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
#nextButton {
|
||||
-fx-rotate: 180;
|
||||
}
|
||||
|
||||
#nextButton:pressed {
|
||||
-fx-background-image: url("/visualiser/images/ArrowSelect.png");
|
||||
}
|
||||
|
||||
#previousButton:pressed {
|
||||
-fx-background-image: url("/visualiser/images/ArrowSelect.png");
|
||||
}
|
||||
|
||||
.slider .thumb {
|
||||
-fx-background-image: url("/visualiser/images/sun.png");
|
||||
-fx-background-size: 25px;
|
||||
-fx-pref-height: 25px;
|
||||
-fx-pref-width: 25px;
|
||||
-fx-background-position: top;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
|
||||
.slider .track {
|
||||
-fx-control-inner-background: #166df1;
|
||||
-fx-border-color: #6a80ff;
|
||||
-fx-border-radius: 0.25em, 0.25em, 0.166667em;
|
||||
}
|
||||
|
||||
#lineChartWrapper{
|
||||
-fx-border-color: #02378c;
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
.label, .list-view {
|
||||
-fx-text-fill: black;
|
||||
}
|
||||
|
||||
.list-view .list-cell {
|
||||
-fx-cell-size: 40;
|
||||
-fx-font-family: "Tahoma";
|
||||
|
||||
@@ -102,3 +102,236 @@
|
||||
-fx-border-color: #012256;
|
||||
-fx-border-width: 3;
|
||||
}
|
||||
|
||||
/* Title menu buttons */
|
||||
#hostAGameBtn {
|
||||
-fx-background-image: url("/visualiser/images/hostAGameBtn.png");
|
||||
-fx-background-size: 150px;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-background-position: center center;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
|
||||
#hostAGameBtn:pressed {
|
||||
-fx-background-image: url("/visualiser/images/hostAGameBtnPressed.png");
|
||||
-fx-background-size: 150px;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-background-position: center center;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
|
||||
#btnJoin {
|
||||
-fx-background-image: url("/visualiser/images/JoinAGameBtn.png");
|
||||
-fx-background-size: 150px;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-background-position: center center;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
|
||||
#btnJoin:pressed {
|
||||
-fx-background-image: url("/visualiser/images/JoinAGameBtnPressed.png");
|
||||
-fx-background-size: 150px;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-background-position: center center;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
|
||||
#tutorialButton {
|
||||
-fx-background-image: url("/visualiser/images/howToPlayBtn.png");
|
||||
-fx-background-size: 150px;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-background-position: center center;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
|
||||
#tutorialButton:pressed {
|
||||
-fx-background-image: url("/visualiser/images/howToPlayBtnPressed.png");
|
||||
-fx-background-size: 150px;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-background-position: center center;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
|
||||
#controlsBtn {
|
||||
-fx-background-image: url("/visualiser/images/controlsBtn.png");
|
||||
-fx-background-size: 150px;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-background-position: center center;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
|
||||
#controlsBtn:pressed {
|
||||
-fx-background-image: url("/visualiser/images/controlsBtnPressed.png");
|
||||
-fx-background-size: 150px;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-background-position: center center;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
|
||||
/* host game lobby buttons */
|
||||
|
||||
#hostGameBtn {
|
||||
-fx-background-image: url("/visualiser/images/startGameBtn.png");
|
||||
-fx-background-size: 150px;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-background-position: center center;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
|
||||
#hostGameBtn:pressed {
|
||||
-fx-background-image: url("/visualiser/images/startGameBtnPressed.png");
|
||||
-fx-background-size: 150px;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-background-position: center center;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
|
||||
#mainMenuBtn {
|
||||
-fx-background-image: url("/visualiser/images/mainMenuBtn.png");
|
||||
-fx-background-size: 115px;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-background-position: center center;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
|
||||
|
||||
#mainMenuBtn:pressed {
|
||||
-fx-background-image: url("/visualiser/images/mainMenuBtnPressed.png");
|
||||
-fx-background-size: 115px;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-background-position: center center;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
|
||||
/* match browsing lobby buttons */
|
||||
|
||||
#addBtn {
|
||||
-fx-background-image: url("/visualiser/images/addBtn.png");
|
||||
-fx-background-size: 115px;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-background-position: center center;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
|
||||
#addBtn:pressed {
|
||||
-fx-background-image: url("/visualiser/images/addBtnPressed.png");
|
||||
-fx-background-size: 115px;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-background-position: center center;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
|
||||
#refreshBtn {
|
||||
-fx-background-image: url("/visualiser/images/refreshBtn.png");
|
||||
-fx-background-size: 115px;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-background-position: center center;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
|
||||
#refreshBtn:pressed {
|
||||
-fx-background-image: url("/visualiser/images/refreshBtnPressed.png");
|
||||
-fx-background-size: 115px;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-background-position: center center;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
|
||||
#refreshBtn {
|
||||
-fx-background-image: url("/visualiser/images/refreshBtn.png");
|
||||
-fx-background-size: 115px;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-background-position: center center;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
|
||||
#joinGameBtn {
|
||||
-fx-background-image: url("/visualiser/images/participateBtn.png");
|
||||
-fx-background-size: 115px;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-background-position: center center;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
|
||||
#joinGameBtn:pressed {
|
||||
-fx-background-image: url("/visualiser/images/participateBtnPressed.png");
|
||||
-fx-background-size: 115px;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-background-position: center center;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
|
||||
#spectateButton {
|
||||
-fx-background-image: url("/visualiser/images/spectateBtn.png");
|
||||
-fx-background-size: 115px;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-background-position: center center;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
|
||||
#spectateButton:pressed {
|
||||
-fx-background-image: url("/visualiser/images/spectateBtnPressed.png");
|
||||
-fx-background-size: 115px;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-background-position: center center;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
|
||||
/* in-game lobby buttons */
|
||||
|
||||
#quitBtn {
|
||||
-fx-background-image: url("/visualiser/images/quitBtn.png");
|
||||
-fx-background-size: 115px;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-background-position: center center;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
|
||||
#quitBtn:pressed {
|
||||
-fx-background-image: url("/visualiser/images/quitBtnPressed.png");
|
||||
-fx-background-size: 115px;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-background-position: center center;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
|
||||
#startButton {
|
||||
-fx-background-image: url("/visualiser/images/startBtn.png");
|
||||
-fx-background-size: 115px;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-background-position: center center;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
|
||||
#startButton:pressed {
|
||||
-fx-background-image: url("/visualiser/images/startBtnPressed.png");
|
||||
-fx-background-size: 115px;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-background-position: center center;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
.slider .thumb {
|
||||
-fx-background-image: url("/visualiser/images/sun.png");
|
||||
-fx-background-size: 25px;
|
||||
-fx-pref-height: 25px;
|
||||
-fx-pref-width: 25px;
|
||||
-fx-background-position: top;
|
||||
-fx-background-repeat: no-repeat;
|
||||
-fx-focus-color: transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
|
||||
.slider .track {
|
||||
-fx-control-inner-background: dodgerblue;
|
||||
-fx-border-color: rgba(30, 144, 255, 0.44);
|
||||
-fx-border-radius: 0.25em, 0.25em, 0.166667em;
|
||||
}
|
||||
|
Before Width: | Height: | Size: 2.7 MiB After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 1.8 MiB After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 39 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 39 KiB |
|
After Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 42 KiB |
@@ -9,11 +9,11 @@
|
||||
<?import javafx.scene.layout.RowConstraints?>
|
||||
<?import javafx.scene.text.Font?>
|
||||
|
||||
<AnchorPane fx:id="gameLobbyWrapper" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="780.0" style="-fx-background-color: rgba(100, 100, 100, 0.2);" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="visualiser.Controllers.InGameLobbyController">
|
||||
<AnchorPane fx:id="gameLobbyWrapper" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="780.0" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1" fx:controller="visualiser.Controllers.InGameLobbyController">
|
||||
<children>
|
||||
<GridPane style="-fx-background-color: rgba(0, 0, 0, 0.3);" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
||||
<GridPane AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
||||
<children>
|
||||
<Button fx:id="quitButton" mnemonicParsing="false" onAction="#menuBtnPressed" text="Quit" GridPane.rowIndex="2">
|
||||
<Button fx:id="quitBtn" maxHeight="50.0" maxWidth="125.0" mnemonicParsing="false" onAction="#menuBtnPressed" GridPane.rowIndex="2">
|
||||
<GridPane.margin>
|
||||
<Insets left="20.0" />
|
||||
</GridPane.margin>
|
||||
@@ -66,7 +66,10 @@
|
||||
<Font name="Cabin-Bold" size="17.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<Button fx:id="startButton" disable="true" mnemonicParsing="false" onAction="#startBtnPressed" text="Start!" visible="false" GridPane.columnIndex="2" GridPane.rowIndex="2" />
|
||||
<Button fx:id="startButton" disable="true" maxHeight="50.0" maxWidth="125.0" mnemonicParsing="false" onAction="#startBtnPressed" visible="false" GridPane.columnIndex="2" GridPane.halignment="RIGHT" GridPane.rowIndex="2">
|
||||
<GridPane.margin>
|
||||
<Insets right="20.0" />
|
||||
</GridPane.margin></Button>
|
||||
</children>
|
||||
<columnConstraints>
|
||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
|
||||
|
||||
@@ -20,13 +20,13 @@
|
||||
<ColumnConstraints hgrow="NEVER" prefWidth="170.0" />
|
||||
</columnConstraints>
|
||||
<rowConstraints>
|
||||
<RowConstraints prefHeight="50.0" vgrow="NEVER" />
|
||||
<RowConstraints prefHeight="419.5" vgrow="NEVER" />
|
||||
<RowConstraints prefHeight="50.0" vgrow="NEVER" />
|
||||
<RowConstraints prefHeight="80.0" vgrow="NEVER" />
|
||||
<RowConstraints maxHeight="118.0" minHeight="56.5" prefHeight="76.0" vgrow="NEVER" />
|
||||
<RowConstraints maxHeight="413.5" minHeight="329.5" prefHeight="370.0" vgrow="NEVER" />
|
||||
<RowConstraints maxHeight="76.5" minHeight="0.0" prefHeight="54.0" vgrow="NEVER" />
|
||||
<RowConstraints maxHeight="130.0" minHeight="84.5" prefHeight="100.5" vgrow="NEVER" />
|
||||
</rowConstraints>
|
||||
<children>
|
||||
<Button fx:id="hostGameBtn" mnemonicParsing="false" onAction="#hostGamePressed" text="Start Game" GridPane.columnIndex="1" GridPane.halignment="CENTER" GridPane.rowIndex="3" GridPane.valignment="CENTER">
|
||||
<Button fx:id="hostGameBtn" maxHeight="80.0" maxWidth="200.0" mnemonicParsing="false" onAction="#hostGamePressed" GridPane.columnIndex="1" GridPane.halignment="CENTER" GridPane.rowIndex="3" GridPane.valignment="CENTER">
|
||||
<font>
|
||||
<Font size="20.0" />
|
||||
</font>
|
||||
@@ -34,17 +34,21 @@
|
||||
<Insets bottom="20.0" left="20.0" right="20.0" top="20.0" />
|
||||
</GridPane.margin>
|
||||
</Button>
|
||||
<Label text="Address: 127.0.0.1" GridPane.columnIndex="1" GridPane.halignment="CENTER" GridPane.valignment="TOP">
|
||||
<font>
|
||||
<Font size="17.0" />
|
||||
</font>
|
||||
<Label fx:id="title" text="Map Selection"
|
||||
GridPane.columnIndex="1" GridPane.halignment="CENTER"
|
||||
GridPane.valignment="CENTER">
|
||||
</Label>
|
||||
<Label text="Port: 4942" GridPane.columnIndex="1" GridPane.halignment="CENTER" GridPane.valignment="BOTTOM">
|
||||
<font>
|
||||
<Font size="17.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<Button mnemonicParsing="false" onAction="#menuBtnPressed" text="Main Menu" GridPane.halignment="LEFT" GridPane.valignment="TOP">
|
||||
<!--<Label text="Address: 127.0.0.1" GridPane.columnIndex="1" GridPane.halignment="CENTER" GridPane.valignment="TOP">-->
|
||||
<!--<font>-->
|
||||
<!--<Font size="17.0" />-->
|
||||
<!--</font>-->
|
||||
<!--</Label>-->
|
||||
<!--<Label text="Port: 4942" GridPane.columnIndex="1" GridPane.halignment="CENTER" GridPane.valignment="BOTTOM">-->
|
||||
<!--<font>-->
|
||||
<!--<Font size="17.0" />-->
|
||||
<!--</font>-->
|
||||
<!--</Label>-->
|
||||
<Button fx:id="mainMenuBtn" maxHeight="50.0" maxWidth="125.0" minHeight="50.0" minWidth="125.0" mnemonicParsing="false" onAction="#menuBtnPressed" prefHeight="50.0" prefWidth="125.0" scaleShape="false" GridPane.halignment="LEFT" GridPane.valignment="TOP">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
||||
</GridPane.margin>
|
||||
|
||||
@@ -17,16 +17,16 @@
|
||||
<children>
|
||||
<GridPane fx:id="connection" prefHeight="600.0" prefWidth="780.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
||||
<columnConstraints>
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="600.0" minWidth="10.0" prefWidth="600.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="600.0" minWidth="10.0" prefWidth="600.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="600.0" minWidth="10.0" prefWidth="303.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="600.0" minWidth="10.0" prefWidth="477.0" />
|
||||
</columnConstraints>
|
||||
<rowConstraints>
|
||||
<RowConstraints maxHeight="182.0" minHeight="10.0" prefHeight="182.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="434.0" minHeight="10.0" prefHeight="434.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="174.0" minHeight="10.0" prefHeight="174.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="182.0" minHeight="10.0" prefHeight="116.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="434.0" minHeight="10.0" prefHeight="348.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="174.0" minHeight="10.0" prefHeight="157.0" vgrow="SOMETIMES" />
|
||||
</rowConstraints>
|
||||
<children>
|
||||
<TableView fx:id="lobbyTable" prefHeight="200.0" prefWidth="1080.0" GridPane.columnSpan="2" GridPane.rowIndex="1">
|
||||
<TableView fx:id="lobbyTable" prefHeight="342.0" prefWidth="680.0" GridPane.columnSpan="2" GridPane.rowIndex="1">
|
||||
<columns>
|
||||
<TableColumn fx:id="gameNameColumn" prefWidth="223.0" text="Game Name" />
|
||||
<TableColumn fx:id="hostNameColumn" prefWidth="280.0" text="Host Name" />
|
||||
@@ -36,7 +36,8 @@
|
||||
<Insets left="50.0" right="50.0" />
|
||||
</GridPane.margin>
|
||||
</TableView>
|
||||
<Label text="Available Games" GridPane.columnSpan="2" GridPane.halignment="CENTER">
|
||||
<Label fx:id="title" text="Available Games"
|
||||
GridPane.columnSpan="2" GridPane.halignment="CENTER">
|
||||
<font>
|
||||
<Font size="36.0" />
|
||||
</font>
|
||||
@@ -44,23 +45,22 @@
|
||||
<GridPane fx:id="ipPortGridPane" GridPane.rowIndex="2">
|
||||
<columnConstraints>
|
||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" />
|
||||
</columnConstraints>
|
||||
<rowConstraints>
|
||||
<RowConstraints minHeight="10.0" vgrow="SOMETIMES" />
|
||||
</rowConstraints>
|
||||
<children>
|
||||
<TextField fx:id="addressFld" promptText="Address">
|
||||
<TextField fx:id="addressFld" promptText="Address" GridPane.valignment="TOP">
|
||||
<GridPane.margin>
|
||||
<Insets left="50.0" right="20.0" />
|
||||
<Insets left="50.0" right="20.0" top="20.0" />
|
||||
</GridPane.margin>
|
||||
<opaqueInsets>
|
||||
<Insets />
|
||||
</opaqueInsets>
|
||||
</TextField>
|
||||
<TextField fx:id="portFld" promptText="Port Number" GridPane.columnIndex="1">
|
||||
<TextField fx:id="portFld" promptText="Port Number">
|
||||
<GridPane.margin>
|
||||
<Insets left="20.0" right="20.0" />
|
||||
<Insets left="50.0" right="20.0" />
|
||||
</GridPane.margin>
|
||||
</TextField>
|
||||
</children>
|
||||
@@ -70,31 +70,31 @@
|
||||
</GridPane>
|
||||
<GridPane fx:id="buttonsGridPane" GridPane.columnIndex="1" GridPane.rowIndex="2">
|
||||
<columnConstraints>
|
||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="145.0" minWidth="10.0" prefWidth="132.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="133.0" minWidth="10.0" prefWidth="125.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="181.0" minWidth="10.0" prefWidth="132.0" />
|
||||
</columnConstraints>
|
||||
<rowConstraints>
|
||||
<RowConstraints minHeight="10.0" vgrow="SOMETIMES" />
|
||||
</rowConstraints>
|
||||
<children>
|
||||
<Button mnemonicParsing="false" onAction="#refreshBtnPressed" text="Refresh" GridPane.columnIndex="1">
|
||||
<Button fx:id="refreshBtn" maxHeight="50.0" maxWidth="125.0" mnemonicParsing="false" onAction="#refreshBtnPressed" GridPane.columnIndex="1">
|
||||
<GridPane.margin>
|
||||
<Insets left="10.0" right="10.0" />
|
||||
<Insets />
|
||||
</GridPane.margin></Button>
|
||||
<Button mnemonicParsing="false" onAction="#addConnectionPressed" text="Add">
|
||||
<Button fx:id="addBtn" maxHeight="50.0" maxWidth="125.0" mnemonicParsing="false" onAction="#addConnectionPressed">
|
||||
<GridPane.margin>
|
||||
<Insets left="20.0" />
|
||||
<Insets />
|
||||
</GridPane.margin></Button>
|
||||
<VBox alignment="CENTER" prefHeight="200.0" prefWidth="100.0" spacing="8.0" GridPane.columnIndex="2">
|
||||
<children>
|
||||
<Button fx:id="joinGameBtn" mnemonicParsing="false" onAction="#connectParticipate" text="Participate!" />
|
||||
<Button fx:id="spectateButton" mnemonicParsing="false" onAction="#connectSpectate" text="Spectate!" />
|
||||
<Button fx:id="joinGameBtn" maxHeight="50.0" maxWidth="125.0" mnemonicParsing="false" onAction="#connectParticipate" prefHeight="50.0" prefWidth="125.0" />
|
||||
<Button fx:id="spectateButton" maxHeight="50.0" maxWidth="125.0" mnemonicParsing="false" onAction="#connectSpectate" prefHeight="50.0" prefWidth="125.0" />
|
||||
</children>
|
||||
</VBox>
|
||||
</children>
|
||||
</GridPane>
|
||||
<Button mnemonicParsing="false" onAction="#menuBtnPressed" text="Main Menu">
|
||||
<Button fx:id="mainMenuBtn" maxHeight="50.0" maxWidth="125.0" minHeight="-Infinity" minWidth="-Infinity" mnemonicParsing="false" onAction="#menuBtnPressed" prefHeight="50.0" prefWidth="125.0">
|
||||
<GridPane.margin>
|
||||
<Insets left="50.0" />
|
||||
</GridPane.margin>
|
||||
|
||||
@@ -5,6 +5,10 @@
|
||||
<?import javafx.scene.image.*?>
|
||||
<?import javafx.scene.layout.*?>
|
||||
<?import javafx.scene.text.*?>
|
||||
<?import java.lang.*?>
|
||||
<?import javafx.scene.control.*?>
|
||||
<?import javafx.scene.layout.*?>
|
||||
<?import javafx.scene.text.*?>
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.Label?>
|
||||
<?import javafx.scene.control.RadioButton?>
|
||||
@@ -40,14 +44,14 @@
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
</rowConstraints>
|
||||
<children>
|
||||
<Button fx:id="btnJoin" mnemonicParsing="false" onAction="#joinAGame" prefHeight="31.0" prefWidth="130.0" text="Join a Game" GridPane.halignment="RIGHT" GridPane.rowIndex="2">
|
||||
<Button fx:id="btnJoin" maxHeight="80.0" maxWidth="200.0" mnemonicParsing="false" onAction="#joinAGame" GridPane.halignment="RIGHT" GridPane.rowIndex="2">
|
||||
<font>
|
||||
<Font name="System Font" size="13.0" />
|
||||
</font>
|
||||
</Button>
|
||||
<Button mnemonicParsing="false" onAction="#showControls" text="Controls" GridPane.halignment="RIGHT" GridPane.rowIndex="4" />
|
||||
<Button fx:id="tutorialButton" mnemonicParsing="false" onAction="#tutorialStartPressed" text="How to Play" GridPane.halignment="RIGHT" GridPane.rowIndex="3" />
|
||||
<Button mnemonicParsing="false" onAction="#hostAGame" prefHeight="31.0" prefWidth="130.0" text="Host a Game" GridPane.halignment="RIGHT" GridPane.rowIndex="1" />
|
||||
<Button fx:id="controlsBtn" maxHeight="80.0" maxWidth="200.0" mnemonicParsing="false" onAction="#showControls" GridPane.halignment="RIGHT" GridPane.rowIndex="4" />
|
||||
<Button fx:id="tutorialButton" maxHeight="80.0" maxWidth="200.0" mnemonicParsing="false" onAction="#tutorialStartPressed" GridPane.halignment="RIGHT" GridPane.rowIndex="3" />
|
||||
<Button fx:id="hostAGameBtn" maxHeight="80.0" maxWidth="200.0" mnemonicParsing="false" onAction="#hostAGame" GridPane.halignment="RIGHT" GridPane.rowIndex="1" />
|
||||
<RadioButton fx:id="nightModeRD" mnemonicParsing="false" onAction="#setNightMode" text="Night Mode" textFill="WHITE" GridPane.columnIndex="3" GridPane.halignment="CENTER" GridPane.rowIndex="5" />
|
||||
<RadioButton fx:id="dayModeRD" mnemonicParsing="false" onAction="#setDayMode" selected="true" text="Day Mode" textFill="WHITE" GridPane.columnIndex="2" GridPane.halignment="CENTER" GridPane.rowIndex="5" />
|
||||
<Label text="Smooth Sailing" textFill="WHITE" GridPane.columnSpan="2" GridPane.halignment="RIGHT">
|
||||
|
||||