diff --git a/src/main/java/engine/engineMain/Handler.java b/src/main/java/engine/engineMain/Handler.java index 59236d3619d0859826f99fd91e61cda1aadce6d5..5aa69863461e4716d628db744db03da39e93dcfe 100644 --- a/src/main/java/engine/engineMain/Handler.java +++ b/src/main/java/engine/engineMain/Handler.java @@ -97,9 +97,12 @@ public class Handler implements ICallBack { this.masterRenderer = new MasterRenderer(); this.mousePicker = new MousePicker(camera, masterRenderer.getProjectionMatrix(), worldGrid); - this.gameModel = new GameModel(worldGrid.getWorldSize(), worldGrid.getWorldSize()); - this.gameModel.initialize(); - //gameModel = Database.read(); + + if ((gameModel = Database.read()) == null) { + this.gameModel = new GameModel(worldGrid.getWorldSize(), worldGrid.getWorldSize()); + this.gameModel.initialize(); + } + this.controller = new Controller(gameModel); TextMaster.init(loader); @@ -251,6 +254,14 @@ public class Handler implements ICallBack { if (exitGame == true) return true; + if (viewModel.checkNewGame()) + { + this.gameModel = new GameModel(worldGrid.getWorldSize(), worldGrid.getWorldSize()); + this.gameModel.initialize(); + this.controller = new Controller(gameModel); + setWorldGrid(); + } + pausedByMenu = !(viewModel.unpause()); paused = pausedByMenu; if (!paused) diff --git a/src/main/java/view/PauseMenu.java b/src/main/java/view/PauseMenu.java index 8c6a1402595a369e559f2beb456b7d3b502aece9..eabea2c40f3538791005b535b66eb05a37678429 100644 --- a/src/main/java/view/PauseMenu.java +++ b/src/main/java/view/PauseMenu.java @@ -20,6 +20,7 @@ public class PauseMenu extends Menu{ private UiButton resumeButton; private UiButton saveGameButton; private UiButton exitGameButton; + private UiButton newGame; private String tabTexture = "Test"; public PauseMenu(Controller controller, GameModel gameModel) { @@ -43,6 +44,9 @@ public class PauseMenu extends Menu{ exitGameButton = new UiButton(loader.loadTexture("button/ExitGame"), new Vector2f(0f,-0.23f),new Vector2f(0.1f,0.1f), ButtonEnum.EXIT_GAME); super.buttons.add(exitGameButton); + newGame = new UiButton(loader.loadTexture("button/NewGame"), + new Vector2f(0f,-0.4f),new Vector2f(0.1f,0.1f), ButtonEnum.EXIT_GAME); + super.buttons.add(newGame); } @@ -54,7 +58,7 @@ public class PauseMenu extends Menu{ } - + public UiButton getNewGame(){return newGame;} public UiButton getResumeButton() { return resumeButton; } diff --git a/src/main/java/view/ViewModel.java b/src/main/java/view/ViewModel.java index 00945b4fd551cc56b8d57ef3b2f9e6d4f73fd353..3bdfbc0cd9afa055ce643587f15f90ddca2bba23 100644 --- a/src/main/java/view/ViewModel.java +++ b/src/main/java/view/ViewModel.java @@ -93,6 +93,7 @@ public class ViewModel { public boolean checkExitGame(){ return this.pauseMenu.getExitGameButton().isClicked(); } + public boolean checkNewGame(){return this.pauseMenu.getNewGame().isClicked();} public void taxIncDecButtons(boolean moneyTab,GameModel gameModel) { diff --git a/src/main/resources/textures/button/NewGame.png b/src/main/resources/textures/button/NewGame.png new file mode 100644 index 0000000000000000000000000000000000000000..8d5f7327a44367c50019f38a0ae1b05f19711768 Binary files /dev/null and b/src/main/resources/textures/button/NewGame.png differ