From 47df6266d2ed2d8666e2c830f786da75992e79bb Mon Sep 17 00:00:00 2001 From: Erika Savell Date: Thu, 6 Apr 2017 16:19:31 +1200 Subject: [PATCH] Created start race entry point in main controller so it could be called by start race controller story[760] --- src/main/java/seng302/App.java | 4 +--- .../java/seng302/Controllers/Controller.java | 4 ++-- .../seng302/Controllers/MainController.java | 5 +++++ .../seng302/Controllers/RaceController.java | 21 +++++++------------ .../seng302/Controllers/StartController.java | 8 +++++-- 5 files changed, 22 insertions(+), 20 deletions(-) diff --git a/src/main/java/seng302/App.java b/src/main/java/seng302/App.java index c1bd32d3..0022579c 100644 --- a/src/main/java/seng302/App.java +++ b/src/main/java/seng302/App.java @@ -25,10 +25,8 @@ public class App extends Application { FXMLLoader loader = new FXMLLoader(getClass().getResource("/scenes/main.fxml")); Parent root = loader.load(); - Scene scene = new Scene(root, 1050, 835); + Scene scene = new Scene(root, 1200, 800); stage.setScene(scene); - stage.setMinHeight(800); - stage.setMinWidth(1200); stage.show(); } diff --git a/src/main/java/seng302/Controllers/Controller.java b/src/main/java/seng302/Controllers/Controller.java index 0b1ed991..c5d160e7 100644 --- a/src/main/java/seng302/Controllers/Controller.java +++ b/src/main/java/seng302/Controllers/Controller.java @@ -11,14 +11,14 @@ import java.util.ResourceBundle; * Created by fwy13 on 15/03/2017. */ public abstract class Controller implements Initializable { - protected Controller parent; + protected MainController parent; /** * Sets the parent of the application * * @param parent controller */ - public void setParent(Controller parent) { + public void setParent(MainController parent) { this.parent = parent; } diff --git a/src/main/java/seng302/Controllers/MainController.java b/src/main/java/seng302/Controllers/MainController.java index 9058a305..5e70cd78 100644 --- a/src/main/java/seng302/Controllers/MainController.java +++ b/src/main/java/seng302/Controllers/MainController.java @@ -15,6 +15,11 @@ public class MainController extends Controller { @FXML RaceController raceController; + public void beginRace(int scaleFactor) { + raceController.startRace(scaleFactor); + } + + /** diff --git a/src/main/java/seng302/Controllers/RaceController.java b/src/main/java/seng302/Controllers/RaceController.java index a83401cd..b5f710b5 100644 --- a/src/main/java/seng302/Controllers/RaceController.java +++ b/src/main/java/seng302/Controllers/RaceController.java @@ -25,11 +25,7 @@ public class RaceController extends Controller { GridPane canvasBase; ResizableRaceCanvas raceMap; - - @FXML - GridPane startScreen; - @FXML - SplitPane racepane; + @FXML SplitPane race; @FXML CheckBox showFPS; @FXML @@ -99,7 +95,7 @@ public class RaceController extends Controller { * * @param scaleFactor scale value of race */ - private void startRace(int scaleFactor) { + public void startRace(int scaleFactor) { RaceXMLReader raceXMLReader = null; try { raceXMLReader = new RaceXMLReader("raceXML/bermuda_AC35.xml"); @@ -120,12 +116,12 @@ public class RaceController extends Controller { ArrayList legs = raceXMLReader.getLegs(); - ConstantVelocityRace race = new ConstantVelocityRace(boats, legs, this, scaleFactor); - race.initialiseBoats(); + ConstantVelocityRace newRace = new ConstantVelocityRace(boats, legs, this, scaleFactor); + newRace.initialiseBoats(); - BoatInRace[] startingBoats = new BoatInRace[race.getStartingBoats().size()]; + BoatInRace[] startingBoats = new BoatInRace[newRace.getStartingBoats().size()]; int i = 0; - for (BoatInRace boat : race.getStartingBoats()) { + for (BoatInRace boat : newRace.getStartingBoats()) { startingBoats[i] = boat; i++; } @@ -140,14 +136,13 @@ public class RaceController extends Controller { raceMap.setVisible(true); canvasBase.getChildren().add(raceMap); - startScreen.setVisible(false); - racepane.setVisible(true); + race.setVisible(true); initializeFPS(); initializeAnnotations(); - new Thread((race)).start(); + new Thread((newRace)).start(); } diff --git a/src/main/java/seng302/Controllers/StartController.java b/src/main/java/seng302/Controllers/StartController.java index 0429e15d..220717e4 100644 --- a/src/main/java/seng302/Controllers/StartController.java +++ b/src/main/java/seng302/Controllers/StartController.java @@ -1,5 +1,8 @@ package seng302.Controllers; +import javafx.fxml.FXML; +import javafx.scene.layout.GridPane; + import java.net.URL; import java.util.ResourceBundle; @@ -8,6 +11,7 @@ import java.util.ResourceBundle; */ public class StartController extends Controller { + @FXML private GridPane start; /** * Begins the race with a scale factor of 15 @@ -31,7 +35,8 @@ public class StartController extends Controller { } private void startRace(Integer raceScale){ - + start.setVisible(false); + parent.beginRace(raceScale); } @Override @@ -39,5 +44,4 @@ public class StartController extends Controller { } - }