|
|
|
|
@ -10,6 +10,7 @@ import javafx.fxml.FXML;
|
|
|
|
|
import javafx.geometry.Insets;
|
|
|
|
|
import javafx.scene.Node;
|
|
|
|
|
import javafx.scene.control.Alert;
|
|
|
|
|
import javafx.scene.control.Button;
|
|
|
|
|
import javafx.scene.control.ButtonType;
|
|
|
|
|
import javafx.scene.control.Label;
|
|
|
|
|
import javafx.scene.image.ImageView;
|
|
|
|
|
@ -78,6 +79,12 @@ public class InGameLobbyController extends Controller {
|
|
|
|
|
@FXML
|
|
|
|
|
private Label countdownTenText;
|
|
|
|
|
|
|
|
|
|
@FXML
|
|
|
|
|
private Button startButton;
|
|
|
|
|
|
|
|
|
|
@FXML
|
|
|
|
|
private Button quitButton;
|
|
|
|
|
|
|
|
|
|
private Event game;
|
|
|
|
|
|
|
|
|
|
private View3D playerBoat;
|
|
|
|
|
@ -291,6 +298,8 @@ public class InGameLobbyController extends Controller {
|
|
|
|
|
|
|
|
|
|
this.visualiserRaceEvent.getVisualiserRaceState().getBoats().addListener(this.lobbyUpdateListener);
|
|
|
|
|
|
|
|
|
|
enableStartIfHost();
|
|
|
|
|
|
|
|
|
|
startRace();
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
//TODO should probably let this propagate, so that we only enter this scene if everything works
|
|
|
|
|
@ -298,6 +307,22 @@ public class InGameLobbyController extends Controller {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Enables the start button if the client is the host of the game.
|
|
|
|
|
*/
|
|
|
|
|
private void enableStartIfHost() {
|
|
|
|
|
if (isHost) {
|
|
|
|
|
startButton.setVisible(true);
|
|
|
|
|
startButton.setDisable(false);
|
|
|
|
|
} else {
|
|
|
|
|
startButton.setVisible(false);
|
|
|
|
|
startButton.setDisable(true);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Menu button pressed. Prompt alert then return to menu
|
|
|
|
|
* @throws IOException socket erro
|
|
|
|
|
@ -325,7 +350,7 @@ public class InGameLobbyController extends Controller {
|
|
|
|
|
* Start button pressed. Currently only prints out start
|
|
|
|
|
*/
|
|
|
|
|
public void startBtnPressed(){
|
|
|
|
|
//System.out.println("Should start the race. This button is only visible for the host");
|
|
|
|
|
App.game.getRaceLogic().getRace().startRace(App.game.getRaceLogic().getRace().getRacePreparatoryTime());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void joinSpecPressed(){
|
|
|
|
|
|