diff --git a/dedicatedServer/src/main/java/app/App.java b/dedicatedServer/src/main/java/app/App.java index 34ee2c5b..f0b133a4 100644 --- a/dedicatedServer/src/main/java/app/App.java +++ b/dedicatedServer/src/main/java/app/App.java @@ -21,7 +21,7 @@ public class App extends Application { public void start(Stage primaryStage) { try { //TODO should read a configuration file to configure server? - Event raceEvent = new Event(false); + Event raceEvent = new Event(0); } catch (Exception e) { diff --git a/racevisionGame/src/main/java/mock/app/Event.java b/racevisionGame/src/main/java/mock/app/Event.java index 2e5db13f..a334906d 100644 --- a/racevisionGame/src/main/java/mock/app/Event.java +++ b/racevisionGame/src/main/java/mock/app/Event.java @@ -74,23 +74,29 @@ public class Event { /** * Constructs an event, using various XML files. - * @param singlePlayer Whether or not to create a single player event. + * @param gameType Type of game to create. Determines which XML files to send * @throws EventConstructionException Thrown if we cannot create an Event for any reason. */ - public Event(boolean singlePlayer) throws EventConstructionException { + public Event(int gameType) throws EventConstructionException { - //String raceXMLFile = "mock/mockXML/raceTest.xml"; - String raceXMLFile = "mock/mockXML/raceTutorial.xml"; - //String boatsXMLFile = "mock/mockXML/boatTest.xml"; - String boatsXMLFile = "mock/mockXML/boatTutorial.xml"; - //String regattaXMLFile = "mock/mockXML/regattaTest.xml"; - String regattaXMLFile = "mock/mockXML/regattaTutorial.xml"; + String raceXMLFile = "mock/mockXML/raceTest.xml"; - if (singlePlayer) { + String boatsXMLFile = "mock/mockXML/boatTest.xml"; + + String regattaXMLFile = "mock/mockXML/regattaTest.xml"; + + + if (gameType == 1) { raceXMLFile = "mock/mockXML/raceSinglePlayer.xml"; boatsXMLFile = "mock/mockXML/boatsSinglePlayer.xml"; } + if (gameType == 2){ + raceXMLFile = "mock/mockXML/raceTutorial.xml"; + boatsXMLFile = "mock/mockXML/boatTutorial.xml"; + regattaXMLFile = "mock/mockXML/regattaTutorial.xml"; + } + //Read XML files. try { //this.raceXML = RaceXMLCreator.alterRaceToWind(raceXMLFile, 90); diff --git a/racevisionGame/src/main/java/visualiser/Controllers/HostController.java b/racevisionGame/src/main/java/visualiser/Controllers/HostController.java index 1609e700..a64cbbd2 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/HostController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/HostController.java @@ -37,6 +37,8 @@ public class HostController extends Controller { private Event game; + private int gameType = 0; + @Override public void initialize(URL location, ResourceBundle resources) { @@ -48,7 +50,7 @@ public class HostController extends Controller { */ public void hostGamePressed() throws IOException{ try { - this.game = new Event(false); + this.game = new Event(gameType); connectSocket("localhost", 4942); } catch (EventConstructionException e) { Logger.getGlobal().log(Level.SEVERE, "Could not create Event.", e); @@ -89,4 +91,8 @@ public class HostController extends Controller { parent.enterTitle(); } + public void setGameType(int gameType){ + this.gameType = gameType; + } + } diff --git a/racevisionGame/src/main/java/visualiser/Controllers/MainController.java b/racevisionGame/src/main/java/visualiser/Controllers/MainController.java index c43ddb59..296b1ff7 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/MainController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/MainController.java @@ -94,6 +94,10 @@ public class MainController extends Controller { hostController.hostGamePressed(); } + public void setGameType(int gameType){ + hostController.setGameType(gameType); + } + /** * Main Controller for the applications will house the menu and the displayed pane. * diff --git a/racevisionGame/src/main/java/visualiser/Controllers/TitleController.java b/racevisionGame/src/main/java/visualiser/Controllers/TitleController.java index 2681097c..1871c70b 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/TitleController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/TitleController.java @@ -47,6 +47,7 @@ public class TitleController extends Controller { */ public void hostAGame() throws IOException { titleWrapper.setVisible(false); + parent.setGameType(0); parent.hostGame(); App.getStage().setResizable(true); } @@ -117,6 +118,7 @@ public class TitleController extends Controller { public void tutorialStartPressed() throws IOException { titleWrapper.setVisible(false); System.out.println("Start the tutorial!"); + parent.setGameType(2); parent.beginGame(); } diff --git a/racevisionGame/src/main/resources/visualiser/scenes/titleScreen.fxml b/racevisionGame/src/main/resources/visualiser/scenes/titleScreen.fxml index 6865170f..1b4043fe 100644 --- a/racevisionGame/src/main/resources/visualiser/scenes/titleScreen.fxml +++ b/racevisionGame/src/main/resources/visualiser/scenes/titleScreen.fxml @@ -80,11 +80,7 @@ - +