diff --git a/core/src/com/trs/main/Main.java b/core/src/com/trs/main/Main.java index 9a134ec..4a48b75 100644 --- a/core/src/com/trs/main/Main.java +++ b/core/src/com/trs/main/Main.java @@ -14,6 +14,7 @@ public class Main extends Game{ */ // 0: normal game world, 1: dialogue, 2: fight + // 7: Load MenuScreen 8: Load GameScreen 9: Load InventoryScreen public static int gamestate = 0; public static float CAMERA_WIDTH = 1280; public static float CAMERA_HEIGHT = 720; @@ -26,7 +27,11 @@ public class Main extends Game{ @Override public void create () { - screen = new GameScreen(this, CAMERA_WIDTH, CAMERA_HEIGHT); + menuScreen = new MenuScreen(this, CAMERA_WIDTH, CAMERA_HEIGHT); + gameScreen = new GameScreen(this, CAMERA_WIDTH, CAMERA_HEIGHT); + inventoryScreen = new InventoryScreen(this, CAMERA_WIDTH, CAMERA_HEIGHT); + + screen = gameScreen; } @Override @@ -39,11 +44,39 @@ public class Main extends Game{ @Override public void render () { - //Gdx.gl.glClearColor(1f, (20f/255f), (147f/255f), 1); Gdx.gl.glClearColor(0f, (0), (0), 1); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); + + switch(gamestate){ + case 7: + if(menuScreen.getPaused()){ + //if(screen instanceof GameScreen) gameScreen = (GameScreen)screen; + //if(screen instanceof InventoryScreen) inventoryScreen = (InventoryScreen)screen; + screen = menuScreen; + gamestate = 0; + } + break; + case 8: + if(gameScreen.getPaused()){ + //if(screen instanceof MenuScreen) menuScreen = (MenuScreen)screen; + //if(screen instanceof InventoryScreen) inventoryScreen = (InventoryScreen)screen; + screen = gameScreen; + gamestate = 0; + } + break; + case 9: + if(inventoryScreen.getPaused()){ + //if(screen instanceof MenuScreen) menuScreen = (MenuScreen)screen; + //if(screen instanceof GameScreen) gameScreen = (GameScreen)screen; + screen = inventoryScreen; + gamestate = 0; + } + break; + default: + break; + } + screen.render(Gdx.graphics.getDeltaTime()); - //Gdx.app.exit(); } @Override diff --git a/core/src/com/trs/main/Player.java b/core/src/com/trs/main/Player.java index c86f732..c3eddd9 100644 --- a/core/src/com/trs/main/Player.java +++ b/core/src/com/trs/main/Player.java @@ -77,6 +77,9 @@ public class Player extends Actor{ if(Gdx.input.isKeyPressed(Input.Keys.NUM_1)){ movementY = -8; } + if(Gdx.input.isKeyJustPressed(Input.Keys.NUM_2)){ + Main.gamestate = 9; + } if(Gdx.input.isKeyJustPressed(Input.Keys.E)) { Actor a = collidingActor(); if(a != null && a instanceof MovingNpc){ diff --git a/core/src/com/trs/main/view/screens/AbstractScreen.java b/core/src/com/trs/main/view/screens/AbstractScreen.java index bb709dd..dbe4578 100644 --- a/core/src/com/trs/main/view/screens/AbstractScreen.java +++ b/core/src/com/trs/main/view/screens/AbstractScreen.java @@ -45,4 +45,8 @@ public abstract class AbstractScreen implements Screen{ @Override public abstract void dispose(); + public boolean getPaused(){ + return paused; + } + } diff --git a/core/src/com/trs/main/view/screens/InventoryScreen.java b/core/src/com/trs/main/view/screens/InventoryScreen.java index e6f02ac..f70f980 100644 --- a/core/src/com/trs/main/view/screens/InventoryScreen.java +++ b/core/src/com/trs/main/view/screens/InventoryScreen.java @@ -6,6 +6,11 @@ package com.trs.main.view.screens; import com.badlogic.gdx.Game; +import com.badlogic.gdx.Gdx; +import com.badlogic.gdx.Input; +import com.badlogic.gdx.scenes.scene2d.ui.Skin; +import com.badlogic.gdx.scenes.scene2d.ui.TextButton; +import com.trs.main.Main; /** * @@ -19,6 +24,8 @@ public class InventoryScreen extends AbstractScreen{ * @param CAMERA_WIDTH * @param CAMERA_HEIGHT */ + + public InventoryScreen(Game game, float CAMERA_WIDTH, float CAMERA_HEIGHT) { super(game, CAMERA_WIDTH, CAMERA_HEIGHT); } @@ -29,6 +36,9 @@ public class InventoryScreen extends AbstractScreen{ @Override public void render(float f) { + if(Gdx.input.isKeyJustPressed(Input.Keys.NUM_2)){ + Main.gamestate = 8; + } } @Override