Skip to content
Snippets Groups Projects
Commit 386186bb authored by Samuel Nejati Masouleh's avatar Samuel Nejati Masouleh
Browse files

Optionen gehen, Back Button

Back Button in Optionen funktioniert
parent c265162a
No related branches found
No related tags found
No related merge requests found
core/assets/options/escape_back_on.png

1.48 KiB

File added
package com.galaxytrucker.galaxytruckerreloaded.View.Buttons.InGameButtons;
import com.badlogic.gdx.audio.Sound;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.scenes.scene2d.InputEvent;
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
import com.galaxytrucker.galaxytruckerreloaded.Main;
import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.ImButton;
import com.galaxytrucker.galaxytruckerreloaded.View.UI.Options.OptionUI;
import com.galaxytrucker.galaxytruckerreloaded.View.UI.Options.PauseMenuUI;
public class OptionenBackButton extends ImButton {
private Sound clickSound;
private OptionUI optionUI;
private PauseMenuUI pauseMenuUI;
public OptionenBackButton(float x, float y, float width, float height, OptionUI optionUI, PauseMenuUI pauseMenuUI) {
super(new Texture("options/escape_back_on.png"), x, y, width, height);
this.optionUI = optionUI;
this.pauseMenuUI = pauseMenuUI;
this.addListener(new ClickListener() {
public void clicked(InputEvent event, float x, float y) {
leftClick();
}
});
}
@Override
public void leftClick() {
optionUI.disposeOptionsUI();
pauseMenuUI.showPauseMenuUI();
}
}
...@@ -110,6 +110,11 @@ public class GamePlay implements Screen { ...@@ -110,6 +110,11 @@ public class GamePlay implements Screen {
*/ */
private PauseMenu pauseMenu; private PauseMenu pauseMenu;
public PauseMenuUI getPauseMenuUI() {
return pauseMenuUI;
}
private PauseMenuUI pauseMenuUI; private PauseMenuUI pauseMenuUI;
/** /**
......
package com.galaxytrucker.galaxytruckerreloaded.View.UI.Options; package com.galaxytrucker.galaxytruckerreloaded.View.UI.Options;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input;
import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.scenes.scene2d.Stage; import com.badlogic.gdx.scenes.scene2d.Stage;
import com.galaxytrucker.galaxytruckerreloaded.Main; import com.galaxytrucker.galaxytruckerreloaded.Main;
import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.InGameButtons.ContinueButton; import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.InGameButtons.ContinueButton;
import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.InGameButtons.MainMenuButton; import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.InGameButtons.MainMenuButton;
import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.InGameButtons.OptionButton; import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.InGameButtons.OptionButton;
import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.InGameButtons.OptionenBackButton;
import com.galaxytrucker.galaxytruckerreloaded.View.Screen.GamePlay; import com.galaxytrucker.galaxytruckerreloaded.View.Screen.GamePlay;
import com.galaxytrucker.galaxytruckerreloaded.View.Screen.PauseMenu; import com.galaxytrucker.galaxytruckerreloaded.View.Screen.PauseMenu;
...@@ -24,10 +27,14 @@ public class OptionUI { ...@@ -24,10 +27,14 @@ public class OptionUI {
*/ */
private MainMenuButton mainMenuButton; private MainMenuButton mainMenuButton;
private OptionenBackButton optionenBackButton;
private Main main; private Main main;
private GamePlay game; private GamePlay game;
private PauseMenuUI pauseMenuUI;
private float x, y; private float x, y;
/** /**
...@@ -38,15 +45,15 @@ public class OptionUI { ...@@ -38,15 +45,15 @@ public class OptionUI {
public OptionUI(Main main, Stage stage, GamePlay game) { public OptionUI(Main main, Stage stage, GamePlay game) {
this.main = main; this.main = main;
this.game = game; this.game = game;
this.pauseMenuUI = game.getPauseMenuUI();
optionsBackgroundTexture = new Texture("options/options.png"); optionsBackgroundTexture = new Texture("options/options.png");
x = main.WIDTH/2 - optionsBackgroundTexture.getWidth()/2; x = main.WIDTH/2 - optionsBackgroundTexture.getWidth()/2;
y = main.HEIGHT/2 - optionsBackgroundTexture.getHeight()/2; y = main.HEIGHT/2 - optionsBackgroundTexture.getHeight()/2;
mainMenuButton = new MainMenuButton(x+220, y+270, 128, 24, main); optionenBackButton = new OptionenBackButton(x+220, y+270, 128, 24, this, pauseMenuUI);
stage.addActor(mainMenuButton); stage.addActor(optionenBackButton);
} }
/** /**
...@@ -54,6 +61,7 @@ public class OptionUI { ...@@ -54,6 +61,7 @@ public class OptionUI {
* no stage stuff * no stage stuff
*/ */
public void render() { public void render() {
updateInput();
main.batch.begin(); main.batch.begin();
main.batch.draw(optionsBackgroundTexture, x, y, 601, 471); main.batch.draw(optionsBackgroundTexture, x, y, 601, 471);
main.batch.end(); main.batch.end();
...@@ -64,7 +72,7 @@ public class OptionUI { ...@@ -64,7 +72,7 @@ public class OptionUI {
*/ */
public void disposeOptionsUI() { public void disposeOptionsUI() {
optionsBackgroundTexture.dispose(); optionsBackgroundTexture.dispose();
mainMenuButton.remove(); optionenBackButton.remove();
game.deleteOptions(); game.deleteOptions();
} }
...@@ -85,4 +93,14 @@ public class OptionUI { ...@@ -85,4 +93,14 @@ public class OptionUI {
*/ */
public void hideOptionsUI() { public void hideOptionsUI() {
} }
/**
* handles input to pause game, open options
*/
public void updateInput() {
if(Gdx.input.isKeyPressed(Input.Keys.ESCAPE)) {
disposeOptionsUI();
pauseMenuUI.showPauseMenuUI();
}
}
} }
...@@ -95,19 +95,23 @@ public class PauseMenuUI { ...@@ -95,19 +95,23 @@ public class PauseMenuUI {
/** /**
* Open the options menu * Open the options menu
*/ */
public void showOptionsUI() { public void showPauseMenuUI() {
continueButton.setVisible(true);
mainMenuButton.setVisible(true);
optionButton.setVisible(true);
} }
/** /**
* Close the options menu * Close the options menu
*/ */
public void hideOptionsUI() { public void hidePauseMenuUI() {
}
public void openOptions () {
continueButton.setVisible(false); continueButton.setVisible(false);
mainMenuButton.setVisible(false); mainMenuButton.setVisible(false);
optionButton.setVisible(false); optionButton.setVisible(false);
}
public void openOptions () {
this.hidePauseMenuUI();
game.createOptions(); game.createOptions();
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment