mirror of
https://github.com/michaelrausch/Party-Parrots-At-Sea.git
synced 2026-05-09 06:18:44 +00:00
Tokens now display on the right and are clickable for further information
#story[1293]
This commit is contained in:
@@ -6,11 +6,13 @@ import java.io.IOException;
|
|||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.ResourceBundle;
|
import java.util.ResourceBundle;
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
import javafx.collections.ListChangeListener;
|
import javafx.collections.ListChangeListener;
|
||||||
|
import javafx.event.EventHandler;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
import javafx.fxml.FXMLLoader;
|
import javafx.fxml.FXMLLoader;
|
||||||
import javafx.fxml.Initializable;
|
import javafx.fxml.Initializable;
|
||||||
@@ -18,6 +20,7 @@ import javafx.geometry.Point3D;
|
|||||||
import javafx.scene.Group;
|
import javafx.scene.Group;
|
||||||
import javafx.scene.control.Label;
|
import javafx.scene.control.Label;
|
||||||
import javafx.scene.control.ScrollPane;
|
import javafx.scene.control.ScrollPane;
|
||||||
|
import javafx.scene.input.MouseEvent;
|
||||||
import javafx.scene.layout.AnchorPane;
|
import javafx.scene.layout.AnchorPane;
|
||||||
import javafx.scene.layout.Pane;
|
import javafx.scene.layout.Pane;
|
||||||
import javafx.scene.layout.StackPane;
|
import javafx.scene.layout.StackPane;
|
||||||
@@ -40,6 +43,8 @@ import seng302.utilities.Sounds;
|
|||||||
import seng302.visualiser.MapPreview;
|
import seng302.visualiser.MapPreview;
|
||||||
import seng302.visualiser.controllers.cells.PlayerCell;
|
import seng302.visualiser.controllers.cells.PlayerCell;
|
||||||
import seng302.visualiser.controllers.dialogs.BoatCustomizeController;
|
import seng302.visualiser.controllers.dialogs.BoatCustomizeController;
|
||||||
|
import seng302.visualiser.controllers.dialogs.PopupDialogController;
|
||||||
|
import seng302.visualiser.controllers.dialogs.TokenInfoDialogController;
|
||||||
import seng302.visualiser.fxObjects.assets_3D.ModelFactory;
|
import seng302.visualiser.fxObjects.assets_3D.ModelFactory;
|
||||||
import seng302.visualiser.fxObjects.assets_3D.ModelType;
|
import seng302.visualiser.fxObjects.assets_3D.ModelType;
|
||||||
|
|
||||||
@@ -71,6 +76,7 @@ public class LobbyController implements Initializable {
|
|||||||
|
|
||||||
private RaceState raceState;
|
private RaceState raceState;
|
||||||
private JFXDialog customizationDialog;
|
private JFXDialog customizationDialog;
|
||||||
|
private JFXDialog tokenInfoDialog;
|
||||||
public Color playersColor;
|
public Color playersColor;
|
||||||
private Map<Integer, ClientYacht> playerBoats;
|
private Map<Integer, ClientYacht> playerBoats;
|
||||||
private Double mapWidth = INITIAL_MAP_WIDTH, mapHeight = INITIAL_MAP_HEIGHT;
|
private Double mapWidth = INITIAL_MAP_WIDTH, mapHeight = INITIAL_MAP_HEIGHT;
|
||||||
@@ -141,19 +147,46 @@ public class LobbyController implements Initializable {
|
|||||||
initTokenPreviews();
|
initTokenPreviews();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initialises the tokens in the side panel
|
||||||
|
*/
|
||||||
private void initTokenPreviews() {
|
private void initTokenPreviews() {
|
||||||
Group speedToken = ModelFactory.importModel(ModelType.VELOCITY_PICKUP).getAssets();
|
Group speedToken = ModelFactory.importModel(ModelType.VELOCITY_PICKUP).getAssets();
|
||||||
Group handlingToken = ModelFactory.importModel(ModelType.HANDLING_PICKUP).getAssets();
|
Group handlingToken = ModelFactory.importModel(ModelType.HANDLING_PICKUP).getAssets();
|
||||||
Group windWalkerToken = ModelFactory.importModel(ModelType.WIND_WALKER_PICKUP).getAssets();
|
Group windWalkerToken = ModelFactory.importModel(ModelType.WIND_WALKER_PICKUP).getAssets();
|
||||||
Group bumperToken = ModelFactory.importModel(ModelType.BUMPER_PICKUP).getAssets();
|
Group bumperToken = ModelFactory.importModel(ModelType.BUMPER_PICKUP).getAssets();
|
||||||
Group randomToken = ModelFactory.importModel(ModelType.RANDOM_PICKUP).getAssets();
|
Group randomToken = ModelFactory.importModel(ModelType.RANDOM_PICKUP).getAssets();
|
||||||
List<Group> tokensPreviews = new ArrayList<>(
|
|
||||||
Arrays.asList(speedToken, handlingToken, windWalkerToken, bumperToken, randomToken));
|
|
||||||
|
|
||||||
tokensPreviews.forEach((tokenPreview) -> {
|
HashMap<Pane, Group> tokenPanes = new HashMap<>();
|
||||||
tokenPreview.getTransforms().addAll(
|
tokenPanes.put(speedTokenPane, speedToken);
|
||||||
|
tokenPanes.put(handlingTokenPane, handlingToken);
|
||||||
|
tokenPanes.put(windWalkerTokenPane, windWalkerToken);
|
||||||
|
tokenPanes.put(bumperTokenPane, bumperToken);
|
||||||
|
tokenPanes.put(randomTokenPane, randomToken);
|
||||||
|
|
||||||
|
Scale hoverScale = new Scale(1.2, 1.2, 1.2);
|
||||||
|
|
||||||
|
tokenPanes.entrySet().forEach((entry) -> {
|
||||||
|
Pane thisPane = entry.getKey();
|
||||||
|
Group thisToken = entry.getValue();
|
||||||
|
|
||||||
|
thisToken.getTransforms().addAll(
|
||||||
new Translate(40, 50, 0),
|
new Translate(40, 50, 0),
|
||||||
new Scale(13, 13, 13));
|
new Scale(13, 13, 13));
|
||||||
|
|
||||||
|
thisPane.setOnMouseEntered(event -> {
|
||||||
|
thisToken.getTransforms().add(hoverScale);
|
||||||
|
});
|
||||||
|
thisPane.setOnMouseExited(event -> {
|
||||||
|
thisToken.getTransforms().remove(hoverScale);
|
||||||
|
});
|
||||||
|
thisPane.setOnMouseReleased(event -> {
|
||||||
|
tokenInfoDialog = makeTokenDialog(thisPane);
|
||||||
|
tokenInfoDialog.show();
|
||||||
|
});
|
||||||
|
|
||||||
|
thisPane.getChildren().add(thisToken);
|
||||||
});
|
});
|
||||||
|
|
||||||
//Hacky rotations for wind and random to level it in the plane
|
//Hacky rotations for wind and random to level it in the plane
|
||||||
@@ -165,13 +198,53 @@ public class LobbyController implements Initializable {
|
|||||||
new Rotate(-90, new Point3D(1, 0, 0)),
|
new Rotate(-90, new Point3D(1, 0, 0)),
|
||||||
new Translate(0, 0,1)
|
new Translate(0, 0,1)
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
|
||||||
speedTokenPane.getChildren().add(speedToken);
|
private JFXDialog makeTokenDialog(Pane inducingPane) {
|
||||||
handlingTokenPane.getChildren().add(handlingToken);
|
String header = "...";
|
||||||
windWalkerTokenPane.getChildren().add(windWalkerToken);
|
String body = "Nothing to see here";
|
||||||
bumperTokenPane.getChildren().add(bumperToken);
|
Group token = new Group();
|
||||||
randomTokenPane.getChildren().add(randomToken);
|
|
||||||
|
|
||||||
|
if (inducingPane == speedTokenPane) {
|
||||||
|
header = "Speed Boost";
|
||||||
|
body = "Increases your max velocity";
|
||||||
|
token = ModelFactory.importModel(ModelType.VELOCITY_PICKUP).getAssets();
|
||||||
|
} else if (inducingPane == handlingTokenPane) {
|
||||||
|
header = "Handling Boost";
|
||||||
|
body = "Increases your turing rate";
|
||||||
|
token = ModelFactory.importModel(ModelType.HANDLING_PICKUP).getAssets();
|
||||||
|
} else if (inducingPane == windWalkerTokenPane) {
|
||||||
|
header = "Wind Walker";
|
||||||
|
body = "The wind now rotates with you, giving you your optimal speed in all directions";
|
||||||
|
token = ModelFactory.importModel(ModelType.WIND_WALKER_PICKUP).getAssets();
|
||||||
|
} else if (inducingPane == bumperTokenPane) {
|
||||||
|
header = "Bumper";
|
||||||
|
body = "While this is active, upon hitting another boat, you will power it down for a short time";
|
||||||
|
token = ModelFactory.importModel(ModelType.BUMPER_PICKUP).getAssets();
|
||||||
|
} else if (inducingPane == randomTokenPane) {
|
||||||
|
header = "Random";
|
||||||
|
body = "A 50% chance of becoming any other token and a 50% chance of slowing your boat for a time";
|
||||||
|
token = ModelFactory.importModel(ModelType.RANDOM_PICKUP).getAssets();
|
||||||
|
}
|
||||||
|
|
||||||
|
FXMLLoader dialog = new FXMLLoader(
|
||||||
|
getClass().getResource("/views/dialogs/TokenInfoDialog.fxml"));
|
||||||
|
|
||||||
|
JFXDialog tokenInfoDialog = null;
|
||||||
|
|
||||||
|
try {
|
||||||
|
tokenInfoDialog = new JFXDialog(serverListMainStackPane, dialog.load(),
|
||||||
|
JFXDialog.DialogTransition.CENTER);
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
TokenInfoDialogController controller = dialog.getController();
|
||||||
|
controller.setParentController(this);
|
||||||
|
controller.setHeader(header);
|
||||||
|
controller.setContent(body);
|
||||||
|
controller.setToken(token);
|
||||||
|
return tokenInfoDialog;
|
||||||
}
|
}
|
||||||
|
|
||||||
private JFXDialog createCustomizeDialog() {
|
private JFXDialog createCustomizeDialog() {
|
||||||
@@ -296,6 +369,10 @@ public class LobbyController implements Initializable {
|
|||||||
customizationDialog.close();
|
customizationDialog.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void closeTokenInfoDialog() {
|
||||||
|
tokenInfoDialog.close();
|
||||||
|
}
|
||||||
|
|
||||||
public void setRoomCode(String roomCode) {
|
public void setRoomCode(String roomCode) {
|
||||||
roomLabel.setText("Room: " + roomCode);
|
roomLabel.setText("Room: " + roomCode);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,72 @@
|
|||||||
|
package seng302.visualiser.controllers.dialogs;
|
||||||
|
|
||||||
|
import com.jfoenix.controls.JFXButton;
|
||||||
|
import com.jfoenix.controls.JFXTextArea;
|
||||||
|
import java.net.URL;
|
||||||
|
import java.util.ResourceBundle;
|
||||||
|
import javafx.event.EventHandler;
|
||||||
|
import javafx.fxml.FXML;
|
||||||
|
import javafx.fxml.Initializable;
|
||||||
|
import javafx.scene.Group;
|
||||||
|
import javafx.scene.control.Button;
|
||||||
|
import javafx.scene.control.Label;
|
||||||
|
import javafx.scene.control.TextArea;
|
||||||
|
import javafx.scene.input.MouseEvent;
|
||||||
|
import javafx.scene.layout.Pane;
|
||||||
|
import javafx.scene.transform.Scale;
|
||||||
|
import javafx.scene.transform.Translate;
|
||||||
|
import seng302.utilities.Sounds;
|
||||||
|
import seng302.visualiser.controllers.LobbyController;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by wmu16 on 28/09/17.
|
||||||
|
*/
|
||||||
|
public class TokenInfoDialogController implements Initializable {
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
private Label headerLabel;
|
||||||
|
@FXML
|
||||||
|
private TextArea contentText;
|
||||||
|
@FXML
|
||||||
|
private Pane tokenPane;
|
||||||
|
@FXML
|
||||||
|
private Button optionButton;
|
||||||
|
|
||||||
|
private LobbyController lobbyController;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initialize(URL location, ResourceBundle resources) {
|
||||||
|
optionButton.setOnMouseReleased(event -> {
|
||||||
|
Sounds.playButtonClick();
|
||||||
|
lobbyController.closeTokenInfoDialog();
|
||||||
|
});
|
||||||
|
|
||||||
|
contentText.setEditable(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void setContent(String content) {
|
||||||
|
contentText.setText(content);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHeader(String header) {
|
||||||
|
this.headerLabel.setText(header);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setToken(Group token) {
|
||||||
|
tokenPane.getChildren().clear();
|
||||||
|
|
||||||
|
token.getTransforms().addAll(
|
||||||
|
new Translate(138 / 2, 138 / 2, 0),
|
||||||
|
new Scale(20, 20, 20));
|
||||||
|
|
||||||
|
tokenPane.getChildren().add(token);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setParentController(LobbyController lobbyController) {
|
||||||
|
this.lobbyController = lobbyController;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -66,3 +66,7 @@
|
|||||||
/*-fx-background-size: cover;*/
|
/*-fx-background-size: cover;*/
|
||||||
-fx-background-color: dodgerblue;
|
-fx-background-color: dodgerblue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.tokenView {
|
||||||
|
-fx-cursor: hand;
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
.text-area {
|
||||||
|
-fx-background-insets: 0;
|
||||||
|
-fx-background-color: transparent, white, transparent, white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-area .content {
|
||||||
|
-fx-background-color: transparent, white, transparent, white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-area:focused .content {
|
||||||
|
-fx-background-color: transparent, white, transparent, white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-area:focused {
|
||||||
|
-fx-highlight-fill: #7ecfff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-area .content {
|
||||||
|
-fx-padding: 10px;
|
||||||
|
-fx-text-fill: gray;
|
||||||
|
-fx-highlight-fill: #7ecfff;
|
||||||
|
}
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<?import java.net.*?>
|
||||||
<?import javafx.scene.*?>
|
<?import javafx.scene.*?>
|
||||||
<?import com.jfoenix.controls.*?>
|
<?import com.jfoenix.controls.*?>
|
||||||
<?import java.lang.*?>
|
<?import java.lang.*?>
|
||||||
@@ -79,9 +80,12 @@
|
|||||||
</GridPane>
|
</GridPane>
|
||||||
<GridPane GridPane.rowIndex="1">
|
<GridPane GridPane.rowIndex="1">
|
||||||
<columnConstraints>
|
<columnConstraints>
|
||||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="222.0" minWidth="222.0" prefWidth="222.0" />
|
<ColumnConstraints hgrow="NEVER" maxWidth="-Infinity" minWidth="-Infinity"
|
||||||
<ColumnConstraints hgrow="SOMETIMES" />
|
prefWidth="115.0"/>
|
||||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="350.0" minWidth="350.0" prefWidth="350.0" />
|
<ColumnConstraints hgrow="SOMETIMES" maxWidth="1.7976931348623157E308"
|
||||||
|
minWidth="337.0" prefWidth="430.0"/>
|
||||||
|
<ColumnConstraints hgrow="NEVER" maxWidth="350.0" minWidth="350.0"
|
||||||
|
prefWidth="350.0"/>
|
||||||
</columnConstraints>
|
</columnConstraints>
|
||||||
<rowConstraints>
|
<rowConstraints>
|
||||||
<RowConstraints vgrow="SOMETIMES" />
|
<RowConstraints vgrow="SOMETIMES" />
|
||||||
@@ -106,123 +110,122 @@
|
|||||||
<Insets bottom="15.0" left="7.0" right="7.0" top="15.0" />
|
<Insets bottom="15.0" left="7.0" right="7.0" top="15.0" />
|
||||||
</GridPane.margin>
|
</GridPane.margin>
|
||||||
</AnchorPane>
|
</AnchorPane>
|
||||||
<AnchorPane maxWidth="200.0" minWidth="200.0" prefHeight="370.0" prefWidth="200.0">
|
<GridPane prefHeight="370.0" prefWidth="189.0" vgap="5.0">
|
||||||
<GridPane.margin>
|
|
||||||
<Insets />
|
|
||||||
</GridPane.margin>
|
|
||||||
<children>
|
<children>
|
||||||
<GridPane prefHeight="370.0" prefWidth="189.0" style="-fx-border-color: black; -fx-grid-lines-visible: true;" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="309.0" AnchorPane.topAnchor="0.0">
|
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="Tokens"
|
||||||
<columnConstraints>
|
GridPane.halignment="CENTER">
|
||||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="80.0" minWidth="80.0" prefWidth="80.0" />
|
<font>
|
||||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="110.0" minWidth="110.0" prefWidth="110.0" />
|
<Font name="System Bold" size="18.0"/>
|
||||||
</columnConstraints>
|
</font>
|
||||||
<rowConstraints>
|
</Text>
|
||||||
<RowConstraints maxHeight="116.0" minHeight="0.0" prefHeight="40.0" vgrow="NEVER" />
|
<StackPane prefHeight="150.0" prefWidth="200.0"
|
||||||
<RowConstraints maxHeight="285.0" minHeight="-Infinity" prefHeight="60.0" vgrow="SOMETIMES" />
|
GridPane.rowIndex="1">
|
||||||
<RowConstraints maxHeight="285.0" minHeight="-Infinity" prefHeight="60.0" vgrow="SOMETIMES" />
|
|
||||||
<RowConstraints maxHeight="141.0" minHeight="-Infinity" prefHeight="60.0" vgrow="SOMETIMES" />
|
|
||||||
<RowConstraints maxHeight="285.0" minHeight="-Infinity" prefHeight="60.0" vgrow="SOMETIMES" />
|
|
||||||
<RowConstraints maxHeight="285.0" minHeight="-Infinity" prefHeight="60.0" vgrow="SOMETIMES" />
|
|
||||||
</rowConstraints>
|
|
||||||
<children>
|
<children>
|
||||||
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="Token" GridPane.halignment="CENTER">
|
<Label alignment="BOTTOM_CENTER" text="Speed"
|
||||||
<font>
|
StackPane.alignment="BOTTOM_CENTER">
|
||||||
<Font name="System Bold" size="18.0" />
|
<font>
|
||||||
</font></Text>
|
<Font size="12.0"/>
|
||||||
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="Ability" GridPane.columnIndex="1" GridPane.halignment="CENTER" GridPane.valignment="CENTER">
|
</font>
|
||||||
<font>
|
<padding>
|
||||||
<Font name="System Bold" size="18.0" />
|
<Insets bottom="5.0"/>
|
||||||
</font>
|
</padding>
|
||||||
</Text>
|
</Label>
|
||||||
<StackPane prefHeight="150.0" prefWidth="200.0" GridPane.rowIndex="1">
|
<Pane fx:id="speedTokenPane" prefHeight="999.0"
|
||||||
<children>
|
prefWidth="200.0" style="-fx-border-color: black;"
|
||||||
<Label alignment="BOTTOM_CENTER" text="Speed" StackPane.alignment="BOTTOM_CENTER">
|
styleClass="tokenView"/>
|
||||||
<font>
|
|
||||||
<Font size="12.0" />
|
|
||||||
</font>
|
|
||||||
<padding>
|
|
||||||
<Insets bottom="5.0" />
|
|
||||||
</padding>
|
|
||||||
</Label>
|
|
||||||
<Pane fx:id="speedTokenPane" prefHeight="999.0" prefWidth="200.0" />
|
|
||||||
</children>
|
|
||||||
</StackPane>
|
|
||||||
<StackPane prefHeight="150.0" prefWidth="200.0" GridPane.rowIndex="2">
|
|
||||||
<children>
|
|
||||||
<Label alignment="BOTTOM_CENTER" text="Handling" StackPane.alignment="BOTTOM_CENTER">
|
|
||||||
<font>
|
|
||||||
<Font size="12.0" />
|
|
||||||
</font>
|
|
||||||
<padding>
|
|
||||||
<Insets bottom="5.0" />
|
|
||||||
</padding>
|
|
||||||
</Label>
|
|
||||||
<Pane fx:id="handlingTokenPane" prefHeight="999.0" prefWidth="200.0" />
|
|
||||||
</children>
|
|
||||||
</StackPane>
|
|
||||||
<StackPane prefHeight="150.0" prefWidth="200.0" GridPane.rowIndex="3">
|
|
||||||
<children>
|
|
||||||
<Label alignment="BOTTOM_CENTER" text="Wind Walker" StackPane.alignment="BOTTOM_CENTER">
|
|
||||||
<font>
|
|
||||||
<Font size="12.0" />
|
|
||||||
</font>
|
|
||||||
<padding>
|
|
||||||
<Insets bottom="5.0" />
|
|
||||||
</padding>
|
|
||||||
</Label>
|
|
||||||
<Pane fx:id="windWalkerTokenPane" prefHeight="999.0" prefWidth="200.0" />
|
|
||||||
</children>
|
|
||||||
</StackPane>
|
|
||||||
<StackPane prefHeight="150.0" prefWidth="200.0" GridPane.rowIndex="4">
|
|
||||||
<children>
|
|
||||||
<Label alignment="BOTTOM_CENTER" text="Bumper" StackPane.alignment="BOTTOM_CENTER">
|
|
||||||
<font>
|
|
||||||
<Font size="12.0" />
|
|
||||||
</font>
|
|
||||||
<padding>
|
|
||||||
<Insets bottom="5.0" />
|
|
||||||
</padding>
|
|
||||||
</Label>
|
|
||||||
<Pane fx:id="bumperTokenPane" prefHeight="999.0" prefWidth="200.0" />
|
|
||||||
</children>
|
|
||||||
</StackPane>
|
|
||||||
<StackPane prefHeight="150.0" prefWidth="200.0" GridPane.rowIndex="5">
|
|
||||||
<children>
|
|
||||||
<Label alignment="BOTTOM_CENTER" text="Random" StackPane.alignment="BOTTOM_CENTER">
|
|
||||||
<font>
|
|
||||||
<Font size="12.0" />
|
|
||||||
</font>
|
|
||||||
<padding>
|
|
||||||
<Insets bottom="5.0" />
|
|
||||||
</padding>
|
|
||||||
</Label>
|
|
||||||
<Pane fx:id="randomTokenPane" prefHeight="999.0" prefWidth="60.0" />
|
|
||||||
</children>
|
|
||||||
</StackPane>
|
|
||||||
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="Increases your speed and acceleration" textAlignment="CENTER" wrappingWidth="100.0" GridPane.columnIndex="1" GridPane.halignment="CENTER" GridPane.rowIndex="1" GridPane.valignment="CENTER">
|
|
||||||
<GridPane.margin>
|
|
||||||
<Insets />
|
|
||||||
</GridPane.margin>
|
|
||||||
</Text>
|
|
||||||
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="Decreases your turning circle" textAlignment="CENTER" wrappingWidth="100.0" GridPane.columnIndex="1" GridPane.halignment="CENTER" GridPane.rowIndex="2" GridPane.valignment="CENTER">
|
|
||||||
<GridPane.margin>
|
|
||||||
<Insets />
|
|
||||||
</GridPane.margin>
|
|
||||||
</Text>
|
|
||||||
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="The wind follows you at the optimal angle" textAlignment="CENTER" wrappingWidth="100.0" GridPane.columnIndex="1" GridPane.halignment="CENTER" GridPane.rowIndex="3" GridPane.valignment="CENTER">
|
|
||||||
<GridPane.margin>
|
|
||||||
<Insets />
|
|
||||||
</GridPane.margin>
|
|
||||||
</Text>
|
|
||||||
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="Hitting another yacht will temporarily disable it" textAlignment="CENTER" wrappingWidth="100.0" GridPane.columnIndex="1" GridPane.halignment="CENTER" GridPane.rowIndex="4" GridPane.valignment="CENTER" />
|
|
||||||
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="50/50 chance for a random token or self slow" textAlignment="CENTER" wrappingWidth="100.0" GridPane.columnIndex="1" GridPane.halignment="CENTER" GridPane.rowIndex="5" GridPane.valignment="CENTER" />
|
|
||||||
</children>
|
</children>
|
||||||
<padding>
|
</StackPane>
|
||||||
<Insets bottom="15.0" left="15.0" right="7.0" top="15.0" />
|
<StackPane prefHeight="150.0" prefWidth="200.0"
|
||||||
</padding>
|
GridPane.rowIndex="2">
|
||||||
</GridPane>
|
<children>
|
||||||
|
<Label alignment="BOTTOM_CENTER" text="Handling"
|
||||||
|
StackPane.alignment="BOTTOM_CENTER">
|
||||||
|
<font>
|
||||||
|
<Font size="12.0"/>
|
||||||
|
</font>
|
||||||
|
<padding>
|
||||||
|
<Insets bottom="5.0"/>
|
||||||
|
</padding>
|
||||||
|
</Label>
|
||||||
|
<Pane fx:id="handlingTokenPane" prefHeight="999.0"
|
||||||
|
prefWidth="200.0" style="-fx-border-color: black;"
|
||||||
|
styleClass="tokenView"/>
|
||||||
|
</children>
|
||||||
|
</StackPane>
|
||||||
|
<StackPane prefHeight="150.0" prefWidth="200.0"
|
||||||
|
GridPane.rowIndex="3">
|
||||||
|
<children>
|
||||||
|
<Label alignment="BOTTOM_CENTER" text="Wind Walker"
|
||||||
|
StackPane.alignment="BOTTOM_CENTER">
|
||||||
|
<font>
|
||||||
|
<Font size="12.0"/>
|
||||||
|
</font>
|
||||||
|
<padding>
|
||||||
|
<Insets bottom="5.0"/>
|
||||||
|
</padding>
|
||||||
|
</Label>
|
||||||
|
<Pane fx:id="windWalkerTokenPane" prefHeight="999.0"
|
||||||
|
prefWidth="200.0" style="-fx-border-color: black;"
|
||||||
|
styleClass="tokenView"/>
|
||||||
|
</children>
|
||||||
|
</StackPane>
|
||||||
|
<StackPane prefHeight="150.0" prefWidth="200.0"
|
||||||
|
GridPane.rowIndex="4">
|
||||||
|
<children>
|
||||||
|
<Label alignment="BOTTOM_CENTER" text="Bumper"
|
||||||
|
StackPane.alignment="BOTTOM_CENTER">
|
||||||
|
<font>
|
||||||
|
<Font size="12.0"/>
|
||||||
|
</font>
|
||||||
|
<padding>
|
||||||
|
<Insets bottom="5.0"/>
|
||||||
|
</padding>
|
||||||
|
</Label>
|
||||||
|
<Pane fx:id="bumperTokenPane" prefHeight="999.0"
|
||||||
|
prefWidth="200.0" style="-fx-border-color: black;"
|
||||||
|
styleClass="tokenView"/>
|
||||||
|
</children>
|
||||||
|
</StackPane>
|
||||||
|
<StackPane prefHeight="150.0" prefWidth="200.0"
|
||||||
|
GridPane.rowIndex="5">
|
||||||
|
<children>
|
||||||
|
<Label alignment="BOTTOM_CENTER" text="Random"
|
||||||
|
StackPane.alignment="BOTTOM_CENTER">
|
||||||
|
<font>
|
||||||
|
<Font size="12.0"/>
|
||||||
|
</font>
|
||||||
|
<padding>
|
||||||
|
<Insets bottom="5.0"/>
|
||||||
|
</padding>
|
||||||
|
</Label>
|
||||||
|
<Pane fx:id="randomTokenPane" prefHeight="999.0"
|
||||||
|
prefWidth="60.0" style="-fx-border-color: black;"
|
||||||
|
styleClass="tokenView"/>
|
||||||
|
</children>
|
||||||
|
</StackPane>
|
||||||
</children>
|
</children>
|
||||||
</AnchorPane>
|
<columnConstraints>
|
||||||
|
<ColumnConstraints hgrow="SOMETIMES" maxWidth="80.0" minWidth="80.0"
|
||||||
|
prefWidth="80.0"/>
|
||||||
|
</columnConstraints>
|
||||||
|
<padding>
|
||||||
|
<Insets bottom="15.0" left="15.0" right="7.0" top="15.0"/>
|
||||||
|
</padding>
|
||||||
|
<rowConstraints>
|
||||||
|
<RowConstraints maxHeight="116.0" minHeight="0.0" prefHeight="40.0"
|
||||||
|
vgrow="NEVER"/>
|
||||||
|
<RowConstraints maxHeight="285.0" minHeight="-Infinity"
|
||||||
|
prefHeight="60.0" vgrow="SOMETIMES"/>
|
||||||
|
<RowConstraints maxHeight="285.0" minHeight="-Infinity"
|
||||||
|
prefHeight="60.0" vgrow="SOMETIMES"/>
|
||||||
|
<RowConstraints maxHeight="141.0" minHeight="-Infinity"
|
||||||
|
prefHeight="60.0" vgrow="SOMETIMES"/>
|
||||||
|
<RowConstraints maxHeight="285.0" minHeight="-Infinity"
|
||||||
|
prefHeight="60.0" vgrow="SOMETIMES"/>
|
||||||
|
<RowConstraints maxHeight="285.0" minHeight="-Infinity"
|
||||||
|
prefHeight="60.0" vgrow="SOMETIMES"/>
|
||||||
|
</rowConstraints>
|
||||||
|
</GridPane>
|
||||||
</children>
|
</children>
|
||||||
</GridPane>
|
</GridPane>
|
||||||
</children>
|
</children>
|
||||||
@@ -234,10 +237,10 @@
|
|||||||
<RowConstraints maxHeight="1.7976931348623157E308" minHeight="400.0" prefHeight="400.0" vgrow="SOMETIMES" />
|
<RowConstraints maxHeight="1.7976931348623157E308" minHeight="400.0" prefHeight="400.0" vgrow="SOMETIMES" />
|
||||||
<RowConstraints maxHeight="80.0" minHeight="80.0" prefHeight="80.0" vgrow="SOMETIMES" />
|
<RowConstraints maxHeight="80.0" minHeight="80.0" prefHeight="80.0" vgrow="SOMETIMES" />
|
||||||
</rowConstraints>
|
</rowConstraints>
|
||||||
<stylesheets>
|
|
||||||
<String fx:value="/css/Master.css" />
|
|
||||||
<String fx:value="/css/LobbyView.css" />
|
|
||||||
</stylesheets>
|
|
||||||
</GridPane>
|
</GridPane>
|
||||||
</children>
|
</children>
|
||||||
|
<stylesheets>
|
||||||
|
<URL value="@../css/Master.css"/>
|
||||||
|
<URL value="@../css/LobbyView.css"/>
|
||||||
|
</stylesheets>
|
||||||
</StackPane>
|
</StackPane>
|
||||||
|
|||||||
@@ -1,6 +1,11 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<?import com.jfoenix.controls.*?>
|
||||||
|
<?import java.lang.*?>
|
||||||
|
<?import java.net.*?>
|
||||||
|
<?import javafx.geometry.*?>
|
||||||
|
<?import javafx.scene.control.*?>
|
||||||
|
<?import javafx.scene.layout.*?>
|
||||||
<?import com.jfoenix.controls.JFXButton?>
|
<?import com.jfoenix.controls.JFXButton?>
|
||||||
<?import com.jfoenix.controls.JFXDialogLayout?>
|
<?import com.jfoenix.controls.JFXDialogLayout?>
|
||||||
<?import java.net.URL?>
|
<?import java.net.URL?>
|
||||||
@@ -9,6 +14,7 @@
|
|||||||
<?import javafx.scene.layout.ColumnConstraints?>
|
<?import javafx.scene.layout.ColumnConstraints?>
|
||||||
<?import javafx.scene.layout.GridPane?>
|
<?import javafx.scene.layout.GridPane?>
|
||||||
<?import javafx.scene.layout.RowConstraints?>
|
<?import javafx.scene.layout.RowConstraints?>
|
||||||
|
|
||||||
<JFXDialogLayout maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity"
|
<JFXDialogLayout maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity"
|
||||||
minWidth="-Infinity" prefWidth="550.0" xmlns="http://javafx.com/javafx/8"
|
minWidth="-Infinity" prefWidth="550.0" xmlns="http://javafx.com/javafx/8"
|
||||||
xmlns:fx="http://javafx.com/fxml/1"
|
xmlns:fx="http://javafx.com/fxml/1"
|
||||||
|
|||||||
Reference in New Issue
Block a user