From f6e397063fbbc5cf988c10d9b2b489ad5728261f Mon Sep 17 00:00:00 2001 From: Tobydrama Date: Mon, 30 Mar 2020 18:14:59 +0200 Subject: [PATCH] =?UTF-8?q?lagde=20en=20powerdown=20screen=20som=20g=C3=A5?= =?UTF-8?q?r=20vekk=20etter=2010=20sekunder?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../game_wrapper/PowerDownScreen.java | 93 +++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 src/main/java/inf112/fiasko/roborally/game_wrapper/PowerDownScreen.java diff --git a/src/main/java/inf112/fiasko/roborally/game_wrapper/PowerDownScreen.java b/src/main/java/inf112/fiasko/roborally/game_wrapper/PowerDownScreen.java new file mode 100644 index 0000000..bc7adff --- /dev/null +++ b/src/main/java/inf112/fiasko/roborally/game_wrapper/PowerDownScreen.java @@ -0,0 +1,93 @@ +package inf112.fiasko.roborally.game_wrapper; + +import com.badlogic.gdx.Gdx; +import com.badlogic.gdx.Screen; +import com.badlogic.gdx.graphics.GL20; +import com.badlogic.gdx.graphics.OrthographicCamera; +import com.badlogic.gdx.scenes.scene2d.InputEvent; +import com.badlogic.gdx.scenes.scene2d.InputListener; +import com.badlogic.gdx.scenes.scene2d.Stage; +import com.badlogic.gdx.scenes.scene2d.ui.TextButton; +import com.badlogic.gdx.utils.viewport.FitViewport; +import com.badlogic.gdx.utils.viewport.Viewport; + +public class PowerDownScreen implements Screen { + private final RoboRallyWrapper roboRallyWrapper; + + private final OrthographicCamera camera; + private final Viewport viewport; + private final Stage stage; + private long startTime; + private final int applicationWidth = 600; + private final int applicationHeight = 800; + public PowerDownScreen(final RoboRallyWrapper roboRallyWrapper) { + camera = new OrthographicCamera(); + viewport = new FitViewport(applicationWidth, applicationHeight, camera); + stage = new Stage(); + TextButton powerDownButton = new SimpleButton("PowerDown", roboRallyWrapper.font).getButton(); + stage.addActor(powerDownButton); + powerDownButton.setY(applicationHeight/2f); + powerDownButton.setX(applicationWidth/2f+powerDownButton.getWidth()/4f); + this.roboRallyWrapper = roboRallyWrapper; + camera.setToOrtho(false, applicationWidth, applicationHeight); + Gdx.input.setInputProcessor(stage); + startTime = System.currentTimeMillis(); + powerDownButton.addListener(new InputListener() { + @Override + public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) { + return true; + } + }); + } + + @Override + public void show() { + //Nothing to do + } + + @Override + public void render(float delta) { + Gdx.gl.glClearColor(0.2f, 1f, 0.2f, 1); + Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); + camera.update(); + roboRallyWrapper.batch.setProjectionMatrix(camera.combined); + + roboRallyWrapper.batch.begin(); + roboRallyWrapper.font.draw(roboRallyWrapper.batch, "click to go in PowerDown you have 10 seconds", + applicationWidth/2f-380/2f,applicationHeight/2f +100,380, 1, true); + roboRallyWrapper.batch.end(); + stage.draw(); + + long time = System.currentTimeMillis(); + if (time-startTime>10000){ + roboRallyWrapper.setScreen(roboRallyWrapper.screenManager.getMainMenuScreen(this.roboRallyWrapper)); + dispose(); + } + } + + @Override + public void resize(int width, int height) { + viewport.update(width, height); + } + + @Override + public void pause() { + //Nothing to do + } + + @Override + public void resume() { + //Nothing to do + } + + @Override + public void hide() { + //Nothing to do + } + + @Override + public void dispose() { + //Nothing to do + } + +}