From b6a886777ab0ed6823da88ede09107c45581bf8c Mon Sep 17 00:00:00 2001
From: Fabian <fakehlenbeck@googlemail.com>
Date: Mon, 29 Jun 2020 16:26:32 +0200
Subject: [PATCH] needs fix Hintergrund wird noch nicht richtig geladen.

---
 .../View/Buttons/MenuButtons/OptionButton.java    | 10 ++++++++--
 .../View/Screen/GamePlay.java                     |  2 +-
 .../View/Screen/MainMenu.java                     | 15 ++++++++++++++-
 .../View/UI/Options/OptionUI.java                 | 15 ++++++++++++---
 4 files changed, 35 insertions(+), 7 deletions(-)

diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Buttons/MenuButtons/OptionButton.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Buttons/MenuButtons/OptionButton.java
index 19e6e805..f74c0592 100644
--- a/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Buttons/MenuButtons/OptionButton.java
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Buttons/MenuButtons/OptionButton.java
@@ -30,7 +30,7 @@ public class OptionButton extends ImButton{
      * Constructor
      *
      */
-    public OptionButton(float x, float y, float width, float height, PauseMenuUI ui) {
+    public OptionButton(float x, float y, float width, float height, PauseMenuUI ui, MainMenu mainMenu) {
         super(new Texture("options_select2.png"), x, y, width, height);
         this.addListener(new ClickListener() {
             public void clicked(InputEvent event, float x, float y) {
@@ -38,6 +38,7 @@ public class OptionButton extends ImButton{
             }
         });
         this.pauseMenuUI = ui;
+        this.mainMenu = mainMenu;
     }
 
     /**
@@ -46,7 +47,12 @@ public class OptionButton extends ImButton{
     public void leftClick()
     {
         //ui.render();
-        System.out.println("Dieser Button wurde gedrueckt, jedoch noch nicht implementiert.");
+        if(mainMenu != null){
+            mainMenu.createOptions();
+        }
+        else {
+            System.out.println("Fehler");
+        }
     }
 
 }
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Screen/GamePlay.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Screen/GamePlay.java
index c63cee1b..9136f768 100644
--- a/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Screen/GamePlay.java
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Screen/GamePlay.java
@@ -326,7 +326,7 @@ public class GamePlay implements Screen {
      * opens in game options
      */
     public void createOptions() {
-        optionUI = new OptionUI(main, pauseStage, this);
+        optionUI = new OptionUI(main, pauseStage, this, null);
     }
 
     /**
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Screen/MainMenu.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Screen/MainMenu.java
index 7f2c9c23..8dbd2b59 100644
--- a/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Screen/MainMenu.java
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Screen/MainMenu.java
@@ -11,6 +11,7 @@ import com.galaxytrucker.galaxytruckerreloaded.Main;
 import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.MenuButtons.NewGameButton;
 import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.MenuButtons.OptionButton;
 import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.MenuButtons.QuitButton;
+import com.galaxytrucker.galaxytruckerreloaded.View.UI.Options.OptionUI;
 import com.galaxytrucker.galaxytruckerreloaded.View.UI.Options.PauseMenuUI;
 
 /**
@@ -27,17 +28,19 @@ public class MainMenu implements Screen {
     private Viewport viewport;
 
     private PauseMenuUI ui;
+    private OptionUI optionUI;
 
     private NewGameButton newGame;
     private OptionButton optionButton;
     private QuitButton quit;
 
+
     /** Constructor  */
     public MainMenu(Main main){
         this.main = main;
         background = new Texture("1080p.png");
         newGame = new NewGameButton(main.WIDTH/2 - 124, main.HEIGHT/2 - 25, 248, 50, this);
-        optionButton = new OptionButton(main.WIDTH/2 - 97, main.HEIGHT/2 -50 - 25, 194, 50, ui);
+        optionButton = new OptionButton(main.WIDTH/2 - 97, main.HEIGHT/2 -50 - 25, 194, 50, ui,this);
         quit = new QuitButton(main.WIDTH/2 - 124 , main.HEIGHT/2 - 100 - 25, 248, 50, this);
 
         viewport = new FitViewport(main.WIDTH, main.HEIGHT);
@@ -123,6 +126,16 @@ public class MainMenu implements Screen {
         dispose();
     }
 
+    public void createOptions(){
+        optionUI = new OptionUI(main,stage,null, this);
+
+    }
+
+    public void deleteOptions(){
+        optionUI = null;
+    }
+
+
     /**
      * resumes the existing game.
      * called by button
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Options/OptionUI.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Options/OptionUI.java
index 44a60709..21d2c440 100644
--- a/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Options/OptionUI.java
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Options/OptionUI.java
@@ -9,6 +9,7 @@ import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.InGameButtons.Option
 import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.InGameButtons.OptionButtons.OptionenBackButton;
 import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.InGameButtons.OptionButtons.Video.VideoButton;
 import com.galaxytrucker.galaxytruckerreloaded.View.Screen.GamePlay;
+import com.galaxytrucker.galaxytruckerreloaded.View.Screen.MainMenu;
 
 /**
  * Ingame Option screen
@@ -36,16 +37,19 @@ public class OptionUI {
 
     private float x, y;
 
+    private MainMenu mainMenu;
+
     /**
      * Constructor
      *
      * @param main - main class
      */
-    public OptionUI(Main main, Stage stage, GamePlay game) {
+    public OptionUI(Main main, Stage stage, GamePlay game, MainMenu mainMenu) {
         this.main = main;
         this.game = game;
         this.stage = stage;
-        this.pauseMenuUI = game.getPauseMenuUI();
+        this.mainMenu = mainMenu;
+        if(game != null){this.pauseMenuUI = game.getPauseMenuUI(); }
         optionsBackgroundTexture = new Texture("options/options.png");
 
         x = main.WIDTH/2 - optionsBackgroundTexture.getWidth()/2;
@@ -81,7 +85,12 @@ public class OptionUI {
         optionenBackButton.remove();
         generalButton.remove();
         videoButton.remove();
-        game.deleteOptions();
+        if(mainMenu ==null){
+            game.deleteOptions();
+        }
+        else{
+            mainMenu.();
+        }
     }
 
     /**
-- 
GitLab