First Controller prototype
The goal it that for each window "type" there is a subclass of Parrent and we can dynamicly switch between each scene with a fonction This first commit is to see the structure for other to work on it. the goal will be to make it dynamic. at the moment you have to switch the gameState Variable with the window you would like to load.
This commit is contained in:
parent
9711be3665
commit
cb4811b339
@ -4,25 +4,33 @@
|
||||
package school_project;
|
||||
|
||||
import javafx.application.Application;
|
||||
import javafx.scene.Group;
|
||||
import javafx.scene.Parent;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.stage.Stage;
|
||||
import school_project.States.GameMain;
|
||||
import school_project.States.GameMenu;
|
||||
import school_project.States.GameState;
|
||||
|
||||
public class Controller extends Application {
|
||||
public final static String PROGRAM_NAME = "Road to Master";
|
||||
private Parent root;
|
||||
private GameState gameState = GameState.InMenu;
|
||||
|
||||
@Override
|
||||
public void start(Stage primaryStage) throws Exception {
|
||||
primaryStage.setTitle("test");
|
||||
Button btn = new Button("test");
|
||||
btn.setOnAction(event -> System.out.println("hey"));
|
||||
primaryStage.setTitle(PROGRAM_NAME);
|
||||
|
||||
Group root = new Group();
|
||||
root.getChildren().add(btn);
|
||||
switch (gameState){
|
||||
case InMenu:
|
||||
root = new GameMenu();
|
||||
break;
|
||||
case InGame:
|
||||
root = new GameMain();
|
||||
break;
|
||||
}
|
||||
|
||||
Scene scene = new Scene(root, 300,300);
|
||||
Scene scene = new Scene(root);
|
||||
primaryStage.setScene(scene);
|
||||
|
||||
primaryStage.show();
|
||||
}
|
||||
|
||||
|
8
app/src/main/java/school_project/States/GameMain.java
Normal file
8
app/src/main/java/school_project/States/GameMain.java
Normal file
@ -0,0 +1,8 @@
|
||||
package school_project.States;
|
||||
|
||||
import javafx.scene.layout.BorderPane;
|
||||
|
||||
public class GameMain extends BorderPane {
|
||||
|
||||
|
||||
}
|
12
app/src/main/java/school_project/States/GameMenu.java
Normal file
12
app/src/main/java/school_project/States/GameMenu.java
Normal file
@ -0,0 +1,12 @@
|
||||
package school_project.States;
|
||||
|
||||
import javafx.scene.layout.GridPane;
|
||||
import javafx.scene.text.Text;
|
||||
|
||||
public class GameMenu extends GridPane {
|
||||
Text txt = new Text("Here come the menu");
|
||||
public GameMenu() {
|
||||
super();
|
||||
add(txt, 0, 0);
|
||||
}
|
||||
}
|
6
app/src/main/java/school_project/States/GameState.java
Normal file
6
app/src/main/java/school_project/States/GameState.java
Normal file
@ -0,0 +1,6 @@
|
||||
package school_project.States;
|
||||
|
||||
public enum GameState {
|
||||
InMenu,
|
||||
InGame
|
||||
}
|
Loading…
Reference in New Issue
Block a user