|
|
|
@ -85,14 +85,15 @@ public class RaceViewController extends Controller {
|
|
|
|
private @FXML Label timeZone;
|
|
|
|
private @FXML Label timeZone;
|
|
|
|
private @FXML CheckBox showFPS;
|
|
|
|
private @FXML CheckBox showFPS;
|
|
|
|
private @FXML TableView<VisualiserBoat> boatInfoTable;
|
|
|
|
private @FXML TableView<VisualiserBoat> boatInfoTable;
|
|
|
|
private @FXML TableColumn<VisualiserBoat, String> boatPlacingColumn;
|
|
|
|
|
|
|
|
private @FXML TableColumn<VisualiserBoat, String> boatTeamColumn;
|
|
|
|
private @FXML TableColumn<VisualiserBoat, String> boatTeamColumn;
|
|
|
|
private @FXML TableColumn<VisualiserBoat, Leg> boatMarkColumn;
|
|
|
|
private @FXML TableColumn<VisualiserBoat, Leg> boatMarkColumn;
|
|
|
|
private @FXML TableColumn<VisualiserBoat, Number> boatSpeedColumn;
|
|
|
|
private @FXML TableColumn<VisualiserBoat, Number> boatSpeedColumn;
|
|
|
|
|
|
|
|
private @FXML TableColumn<VisualiserBoat, Number> boatHealthColumn;
|
|
|
|
private @FXML LineChart<Number, Number> sparklineChart;
|
|
|
|
private @FXML LineChart<Number, Number> sparklineChart;
|
|
|
|
private @FXML Label tutorialText;
|
|
|
|
private @FXML Label tutorialText;
|
|
|
|
private @FXML AnchorPane infoWrapper;
|
|
|
|
private @FXML AnchorPane infoWrapper;
|
|
|
|
private @FXML AnchorPane lineChartWrapper;
|
|
|
|
private @FXML AnchorPane lineChartWrapper;
|
|
|
|
|
|
|
|
private @FXML GridPane playerHealthContainer;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Displays a specified race.
|
|
|
|
* Displays a specified race.
|
|
|
|
@ -334,12 +335,9 @@ public class RaceViewController extends Controller {
|
|
|
|
|
|
|
|
|
|
|
|
boat.legProperty().addListener((o, prev, curr) -> Platform.runLater(() -> swapColours(curr)));
|
|
|
|
boat.legProperty().addListener((o, prev, curr) -> Platform.runLater(() -> swapColours(curr)));
|
|
|
|
boat.hasCollidedProperty().addListener((o, prev, curr) -> Platform.runLater(() -> showCollision(boat, shockwave)));
|
|
|
|
boat.hasCollidedProperty().addListener((o, prev, curr) -> Platform.runLater(() -> showCollision(boat, shockwave)));
|
|
|
|
boat.healthProperty().addListener((o, prev, curr) -> {
|
|
|
|
|
|
|
|
System.out.println("Tab view: " + curr);
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
if(boat.getSourceID() == race.getVisualiserRaceState().getPlayerBoatID()) {
|
|
|
|
if(boat.getSourceID() == race.getVisualiserRaceState().getPlayerBoatID()) {
|
|
|
|
boat.healthProperty().addListener((o, prev, curr) -> {
|
|
|
|
boat.healthProperty().addListener((o, prev, curr) -> {
|
|
|
|
System.out.println("Tomato: " + curr);
|
|
|
|
System.out.println(curr);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -529,13 +527,17 @@ public class RaceViewController extends Controller {
|
|
|
|
// set table data
|
|
|
|
// set table data
|
|
|
|
boatInfoTable.setItems(sortedBoats);
|
|
|
|
boatInfoTable.setItems(sortedBoats);
|
|
|
|
boatTeamColumn.setCellValueFactory(
|
|
|
|
boatTeamColumn.setCellValueFactory(
|
|
|
|
cellData -> cellData.getValue().nameProperty());
|
|
|
|
cellData -> cellData.getValue().nameProperty()
|
|
|
|
|
|
|
|
);
|
|
|
|
boatSpeedColumn.setCellValueFactory(
|
|
|
|
boatSpeedColumn.setCellValueFactory(
|
|
|
|
cellData -> cellData.getValue().currentSpeedProperty());
|
|
|
|
cellData -> cellData.getValue().currentSpeedProperty()
|
|
|
|
|
|
|
|
);
|
|
|
|
boatMarkColumn.setCellValueFactory(
|
|
|
|
boatMarkColumn.setCellValueFactory(
|
|
|
|
cellData -> cellData.getValue().legProperty());
|
|
|
|
cellData -> cellData.getValue().legProperty()
|
|
|
|
boatPlacingColumn.setCellValueFactory(
|
|
|
|
);
|
|
|
|
cellData -> cellData.getValue().placingProperty());
|
|
|
|
boatHealthColumn.setCellValueFactory(
|
|
|
|
|
|
|
|
cellData -> cellData.getValue().healthProperty()
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
//Kind of ugly, but allows for formatting an observed speed.
|
|
|
|
//Kind of ugly, but allows for formatting an observed speed.
|
|
|
|
boatSpeedColumn.setCellFactory(
|
|
|
|
boatSpeedColumn.setCellFactory(
|
|
|
|
|