From 95cc3e38975eac4e27b62b5dcf9e4af3b7137778 Mon Sep 17 00:00:00 2001 From: Mat Date: Thu, 18 May 2023 17:51:37 +0200 Subject: [PATCH] Add a Load Level Button --- .../main/java/school_project/Controller.java | 2 ++ .../java/school_project/Menu/MenuAccueil.java | 18 +++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/school_project/Controller.java b/app/src/main/java/school_project/Controller.java index c9636a0..dfb8e92 100644 --- a/app/src/main/java/school_project/Controller.java +++ b/app/src/main/java/school_project/Controller.java @@ -9,6 +9,7 @@ import javafx.stage.Screen; import javafx.stage.Stage; import school_project.Menu.MenuAccueil; +import java.io.File; import java.io.IOException; @@ -19,6 +20,7 @@ public class Controller extends Application { @Override public void start(Stage primaryStage) throws IOException { + new File("save.slevel"); stage = primaryStage; screen_size = new Vec2( (int) Screen.getPrimary().getBounds().getWidth(), diff --git a/app/src/main/java/school_project/Menu/MenuAccueil.java b/app/src/main/java/school_project/Menu/MenuAccueil.java index e9fa22a..256509a 100644 --- a/app/src/main/java/school_project/Menu/MenuAccueil.java +++ b/app/src/main/java/school_project/Menu/MenuAccueil.java @@ -10,7 +10,13 @@ import javafx.scene.text.Font; import school_project.Controller; import school_project.GameUI; import school_project.MapGenerator; +import school_project.Parsers.FileParser; +import school_project.Parsers.FileParserFactory; +import school_project.Parsers.SerializeParser.*; + +import java.io.File; import java.io.FileNotFoundException; +import java.io.IOException; public class MenuAccueil extends StackPane { @@ -21,6 +27,7 @@ public class MenuAccueil extends StackPane { SlctDifficulty.getItems().addAll("Easy", "Medium", "Difficult"); Label RdmLvl = new Label("Random Level : "); + Button LoadLvl = new Button("Load game"); Button SelectLevel= new Button("Select Level"); Label Title = new Label("Welcome to Road to Master"); SlctDifficulty.setOnAction(event -> { @@ -52,12 +59,13 @@ public class MenuAccueil extends StackPane { }); //set up all the Button where I need - getChildren().addAll(Title,SlctDifficulty,SelectLevel,RdmLvl); + getChildren().addAll(Title,SlctDifficulty,SelectLevel,RdmLvl,LoadLvl); RdmLvl.setFont(Font.font(25)); RdmLvl.setTextFill(Color.GOLD); Title.setFont(Font.font(40)); Title.setTextFill(Color.RED); setAlignment(Title, Pos.TOP_CENTER); + setAlignment(LoadLvl,Pos.BOTTOM_CENTER); setAlignment(SlctDifficulty,Pos.CENTER_LEFT); setAlignment(SelectLevel,Pos.CENTER_RIGHT); setAlignment(RdmLvl, Pos.CENTER_LEFT); @@ -66,8 +74,16 @@ public class MenuAccueil extends StackPane { setMargin(SlctDifficulty,new Insets(0,0,0,300)); setMargin(SelectLevel,new Insets(0,300,0,0)); setMargin(Title,new Insets(200,0,0,0)); + setMargin(LoadLvl,new Insets(0,0,200,0)); SelectLevel.setOnAction(event -> Controller.switchRoot(new MenuLevel(1))); + LoadLvl.setOnAction(event -> { + try { + FileParserFactory.loadMapFromFile(new File("save.slevel")); + } catch (IOException e) { + throw new RuntimeException(e); + } + }); getStyleClass().add("BorderPane"); getStylesheets().add(String.valueOf(getClass().getResource("StyleMenuAcceuil.css")));