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

OptionButton

parent 324cb5c2
No related branches found
No related tags found
No related merge requests found
core/assets/escape_options_on.png

3 KiB

package com.galaxytrucker.galaxytruckerreloaded.View.Buttons.InGameButtons; package com.galaxytrucker.galaxytruckerreloaded.View.Buttons.InGameButtons;
import com.badlogic.gdx.audio.Sound; import com.badlogic.gdx.audio.Sound;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.scenes.scene2d.InputEvent; import com.badlogic.gdx.scenes.scene2d.InputEvent;
import com.badlogic.gdx.scenes.scene2d.ui.ImageButton;
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener; import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
import com.galaxytrucker.galaxytruckerreloaded.Main;
import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.Button;
import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.ImButton; import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.ImButton;
import com.galaxytrucker.galaxytruckerreloaded.View.UI.Options.OptionsUI; import com.galaxytrucker.galaxytruckerreloaded.View.UI.Options.PauseMenuUI;
/** /**
* continue button for ingame options * continue button for ingame options
...@@ -25,20 +20,20 @@ public class ContinueButton extends ImButton { ...@@ -25,20 +20,20 @@ public class ContinueButton extends ImButton {
/** /**
* the options ui this button is on * the options ui this button is on
*/ */
private OptionsUI ui; private PauseMenuUI ui;
/** /**
* Left-Click action of the Button. * Left-Click action of the Button.
*/ */
public void leftClick() { public void leftClick() {
ui.disposeOptionsUI(); ui.disposePauseMenuUI();
} }
/** /**
* constructor * constructor
* @param ui the ui this is on * @param ui the ui this is on
*/ */
public ContinueButton(float x, float y, float width, float height, OptionsUI ui) { public ContinueButton(float x, float y, float width, float height, PauseMenuUI ui) {
super(new Texture("ingame_continue.png"), x, y, width, height); super(new Texture("ingame_continue.png"), x, y, width, height);
this.ui = ui; this.ui = ui;
this.addListener(new ClickListener() { this.addListener(new ClickListener() {
......
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.View.Buttons.ImButton;
import com.galaxytrucker.galaxytruckerreloaded.View.Screen.MainMenu;
import com.galaxytrucker.galaxytruckerreloaded.View.UI.Options.PauseMenuUI;
/**
* creates a new OptionButton
*/
public class OptionButton extends ImButton{
/**
* Click sound effect
*/
private Sound clickSound;
private PauseMenuUI ui;
/** Menu object */
private MainMenu mainMenu;
/**
* Constructor
*
*/
public OptionButton(float x, float y, float width, float height, PauseMenuUI ui) {
super(new Texture("escape_options_on.png"), x, y, width, height);
this.addListener(new ClickListener() {
public void clicked(InputEvent event, float x, float y) {
leftClick();
}
});
this.ui = ui;
}
/**
* Creats new Game
*/
public void leftClick()
{
ui.render();
}
}
...@@ -6,7 +6,7 @@ import com.badlogic.gdx.scenes.scene2d.InputEvent; ...@@ -6,7 +6,7 @@ import com.badlogic.gdx.scenes.scene2d.InputEvent;
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener; import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.ImButton; import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.ImButton;
import com.galaxytrucker.galaxytruckerreloaded.View.Screen.MainMenu; import com.galaxytrucker.galaxytruckerreloaded.View.Screen.MainMenu;
import com.galaxytrucker.galaxytruckerreloaded.View.UI.Options.OptionsUI; import com.galaxytrucker.galaxytruckerreloaded.View.UI.Options.PauseMenuUI;
/** /**
* creates a new OptionButton * creates a new OptionButton
...@@ -18,7 +18,7 @@ public class OptionButton extends ImButton{ ...@@ -18,7 +18,7 @@ public class OptionButton extends ImButton{
*/ */
private Sound clickSound; private Sound clickSound;
private OptionsUI ui; private PauseMenuUI ui;
/** Menu object */ /** Menu object */
private MainMenu mainMenu; private MainMenu mainMenu;
...@@ -27,7 +27,7 @@ public class OptionButton extends ImButton{ ...@@ -27,7 +27,7 @@ public class OptionButton extends ImButton{
* Constructor * Constructor
* *
*/ */
public OptionButton(float x, float y, float width, float height, OptionsUI ui) { public OptionButton(float x, float y, float width, float height, PauseMenuUI ui) {
super(new Texture("options_select2.png"), x, y, width, height); super(new Texture("options_select2.png"), x, y, width, height);
this.addListener(new ClickListener() { this.addListener(new ClickListener() {
public void clicked(InputEvent event, float x, float y) { public void clicked(InputEvent event, float x, float y) {
...@@ -42,7 +42,8 @@ public class OptionButton extends ImButton{ ...@@ -42,7 +42,8 @@ public class OptionButton extends ImButton{
*/ */
public void leftClick() public void leftClick()
{ {
ui.render(); //ui.render();
System.out.println("Dieser Button wurde gedrueckt, jedoch noch nicht implementiert.");
} }
} }
......
...@@ -9,7 +9,6 @@ import com.badlogic.gdx.graphics.GL20; ...@@ -9,7 +9,6 @@ import com.badlogic.gdx.graphics.GL20;
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.badlogic.gdx.utils.viewport.FitViewport; import com.badlogic.gdx.utils.viewport.FitViewport;
import com.badlogic.gdx.utils.viewport.ScreenViewport;
import com.badlogic.gdx.utils.viewport.Viewport; import com.badlogic.gdx.utils.viewport.Viewport;
import com.galaxytrucker.galaxytruckerreloaded.Main; import com.galaxytrucker.galaxytruckerreloaded.Main;
import com.galaxytrucker.galaxytruckerreloaded.Model.Crew.Crew; import com.galaxytrucker.galaxytruckerreloaded.Model.Crew.Crew;
...@@ -22,11 +21,10 @@ import com.galaxytrucker.galaxytruckerreloaded.Model.ShipLayout.BlankRoom; ...@@ -22,11 +21,10 @@ import com.galaxytrucker.galaxytruckerreloaded.Model.ShipLayout.BlankRoom;
import com.galaxytrucker.galaxytruckerreloaded.Model.ShipLayout.Room; import com.galaxytrucker.galaxytruckerreloaded.Model.ShipLayout.Room;
import com.galaxytrucker.galaxytruckerreloaded.Model.Weapons.LaserBlaster; import com.galaxytrucker.galaxytruckerreloaded.Model.Weapons.LaserBlaster;
import com.galaxytrucker.galaxytruckerreloaded.Model.Weapons.Weapon; import com.galaxytrucker.galaxytruckerreloaded.Model.Weapons.Weapon;
import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.InGameButtons.AutofireButton;
import com.galaxytrucker.galaxytruckerreloaded.View.UI.Events.EventGUI; import com.galaxytrucker.galaxytruckerreloaded.View.UI.Events.EventGUI;
import com.galaxytrucker.galaxytruckerreloaded.View.UI.Events.GameOver; import com.galaxytrucker.galaxytruckerreloaded.View.UI.Events.GameOver;
import com.galaxytrucker.galaxytruckerreloaded.View.UI.Events.ShopUI; import com.galaxytrucker.galaxytruckerreloaded.View.UI.Events.ShopUI;
import com.galaxytrucker.galaxytruckerreloaded.View.UI.Options.OptionsUI; import com.galaxytrucker.galaxytruckerreloaded.View.UI.Options.PauseMenuUI;
import com.galaxytrucker.galaxytruckerreloaded.View.UI.Ship.EnemyShip; import com.galaxytrucker.galaxytruckerreloaded.View.UI.Ship.EnemyShip;
import com.galaxytrucker.galaxytruckerreloaded.View.UI.Ship.ShipView; import com.galaxytrucker.galaxytruckerreloaded.View.UI.Ship.ShipView;
...@@ -92,7 +90,7 @@ public class GamePlay implements Screen { ...@@ -92,7 +90,7 @@ public class GamePlay implements Screen {
/** /**
* the ingame options ui, if existing * the ingame options ui, if existing
*/ */
private OptionsUI optionsUI; private PauseMenuUI optionsUI;
/** /**
* the main game class * the main game class
...@@ -106,6 +104,11 @@ public class GamePlay implements Screen { ...@@ -106,6 +104,11 @@ public class GamePlay implements Screen {
private Viewport viewport; private Viewport viewport;
/**
* Pausemenu Object.
*/
PauseMenu pauseMenu;
/** /**
* Constructor * Constructor
* *
...@@ -115,6 +118,8 @@ public class GamePlay implements Screen { ...@@ -115,6 +118,8 @@ public class GamePlay implements Screen {
this.main = main; this.main = main;
background = new Texture("1080p.png"); background = new Texture("1080p.png");
pauseMenu = new PauseMenu(main);
viewport = new FitViewport(main.WIDTH, main.HEIGHT); viewport = new FitViewport(main.WIDTH, main.HEIGHT);
stage = new Stage(viewport); stage = new Stage(viewport);
...@@ -199,7 +204,7 @@ public class GamePlay implements Screen { ...@@ -199,7 +204,7 @@ public class GamePlay implements Screen {
if(shopUI != null) { shopUI.disposeShopUI(); } if(shopUI != null) { shopUI.disposeShopUI(); }
if(eventGUI != null) { eventGUI.disposeEventGUI(); } if(eventGUI != null) { eventGUI.disposeEventGUI(); }
if(gameOverUI != null) { gameOverUI.disposeGameoverUI(); } if(gameOverUI != null) { gameOverUI.disposeGameoverUI(); }
if(optionsUI != null) { optionsUI.disposeOptionsUI(); } if(optionsUI != null) { optionsUI.disposePauseMenuUI(); }
stage.dispose(); stage.dispose();
} }
...@@ -208,7 +213,7 @@ public class GamePlay implements Screen { ...@@ -208,7 +213,7 @@ public class GamePlay implements Screen {
*/ */
public void updateInput() { public void updateInput() {
System.out.println("touched"); System.out.println("touched");
if(Gdx.input.isKeyPressed(Input.Keys.O)) { if(Gdx.input.isKeyPressed(Input.Keys.ESCAPE)) {
System.out.println("Where"); System.out.println("Where");
createOptions(); createOptions();
} }
...@@ -256,7 +261,7 @@ public class GamePlay implements Screen { ...@@ -256,7 +261,7 @@ public class GamePlay implements Screen {
* called by controller * called by controller
*/ */
public void createOptions() { public void createOptions() {
optionsUI = new OptionsUI(main, stage, this); optionsUI = new PauseMenuUI(main, stage, this);
//TODO controller sagen dass spiel "pausiert"? //TODO controller sagen dass spiel "pausiert"?
} }
...@@ -341,7 +346,7 @@ public class GamePlay implements Screen { ...@@ -341,7 +346,7 @@ public class GamePlay implements Screen {
@Override @Override
public void pause() { public void pause() {
pauseMenu.render(1);
} }
@Override @Override
......
...@@ -11,7 +11,7 @@ import com.galaxytrucker.galaxytruckerreloaded.Main; ...@@ -11,7 +11,7 @@ import com.galaxytrucker.galaxytruckerreloaded.Main;
import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.MenuButtons.NewGameButton; import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.MenuButtons.NewGameButton;
import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.MenuButtons.OptionButton; import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.MenuButtons.OptionButton;
import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.MenuButtons.QuitButton; import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.MenuButtons.QuitButton;
import com.galaxytrucker.galaxytruckerreloaded.View.UI.Options.OptionsUI; import com.galaxytrucker.galaxytruckerreloaded.View.UI.Options.PauseMenuUI;
/** /**
* Main menu screen * Main menu screen
...@@ -26,7 +26,7 @@ public class MainMenu implements Screen { ...@@ -26,7 +26,7 @@ public class MainMenu implements Screen {
private Viewport viewport; private Viewport viewport;
private OptionsUI ui; private PauseMenuUI ui;
private NewGameButton newGame; private NewGameButton newGame;
private OptionButton optionButton; private OptionButton optionButton;
......
package com.galaxytrucker.galaxytruckerreloaded.View.UI.Options;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.scenes.scene2d.Stage;
import com.galaxytrucker.galaxytruckerreloaded.Main;
import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.InGameButtons.ContinueButton;
import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.InGameButtons.MainMenuButton;
import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.InGameButtons.OptionButton;
import com.galaxytrucker.galaxytruckerreloaded.View.Screen.GamePlay;
/**
* Ingame Option screen
*/
public class OptionUI {
/**
* Options ui background
*/
private Texture optionsBackgroundTexture;
/**
* continue button
*/
private ContinueButton continueButton;
/**
* main menu button
*/
private MainMenuButton mainMenuButton;
private Main main;
private GamePlay game;
private OptionButton optionButton;
private float x, y;
/**
* Constructor
*
* @param main - main class
*/
public OptionUI(Main main, Stage stage, GamePlay game) {
this.main = main;
this.game = game;
optionsBackgroundTexture = new Texture("options/options.png");
x = main.WIDTH/2 - optionsBackgroundTexture.getWidth()/2;
y = main.HEIGHT/2 - optionsBackgroundTexture.getHeight()/2;
}
/**
* render
* no stage stuff
*/
public void render() {
main.batch.begin();
main.batch.draw(optionsBackgroundTexture, x, y, 601, 471);
main.batch.end();
}
/**
* Dispose of options ui
*/
public void disposeOptionsUI() {
optionsBackgroundTexture.dispose();
continueButton.remove();
mainMenuButton.remove();
optionButton.remove();
game.deleteOptions();
}
/**
* Setup called after initialisation
*/
private void setup() {
}
/**
* Open the options menu
*/
public void showOptionsUI() {
}
/**
* Close the options menu
*/
public void hideOptionsUI() {
}
}
...@@ -8,12 +8,14 @@ import com.badlogic.gdx.scenes.scene2d.ui.ImageButton; ...@@ -8,12 +8,14 @@ import com.badlogic.gdx.scenes.scene2d.ui.ImageButton;
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.Screen.GamePlay; import com.galaxytrucker.galaxytruckerreloaded.View.Screen.GamePlay;
import org.graalvm.compiler.nodes.calc.IntegerDivRemNode;
/** /**
* Ingame options UI * Ingame options UI
*/ */
public class OptionsUI { public class PauseMenuUI {
/** /**
* Options ui background * Options ui background
...@@ -34,6 +36,8 @@ public class OptionsUI { ...@@ -34,6 +36,8 @@ public class OptionsUI {
private GamePlay game; private GamePlay game;
private OptionButton optionButton;
private float x, y; private float x, y;
/** /**
...@@ -41,7 +45,7 @@ public class OptionsUI { ...@@ -41,7 +45,7 @@ public class OptionsUI {
* *
* @param main - main class * @param main - main class
*/ */
public OptionsUI(Main main, Stage stage, GamePlay game) { public PauseMenuUI(Main main, Stage stage, GamePlay game) {
this.main = main; this.main = main;
this.game = game; this.game = game;
...@@ -51,10 +55,12 @@ public class OptionsUI { ...@@ -51,10 +55,12 @@ public class OptionsUI {
y = main.HEIGHT/2 - optionsBackgroundTexture.getHeight()/2; y = main.HEIGHT/2 - optionsBackgroundTexture.getHeight()/2;
continueButton = new ContinueButton(x+220, y+220, 128, 24, this); continueButton = new ContinueButton(x+220, y+220, 128, 24, this);
mainMenuButton = new MainMenuButton(x+220, y+270, 128, 24, main); mainMenuButton = new MainMenuButton(x+220, y+270, 128, 24, main);
optionButton = new OptionButton(x+220,y+320,128,24, this);
stage.addActor(continueButton); stage.addActor(continueButton);
stage.addActor(mainMenuButton); stage.addActor(mainMenuButton);
stage.addActor(optionButton);
} }
/** /**
...@@ -70,10 +76,11 @@ public class OptionsUI { ...@@ -70,10 +76,11 @@ public class OptionsUI {
/** /**
* Dispose of options ui * Dispose of options ui
*/ */
public void disposeOptionsUI() { public void disposePauseMenuUI() {
optionsBackgroundTexture.dispose();
continueButton.remove(); continueButton.remove();
mainMenuButton.remove(); mainMenuButton.remove();
optionButton.remove();
optionsBackgroundTexture.dispose();
game.deleteOptions(); game.deleteOptions();
} }
......
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