From 80075d5015721a5b04212b27d17e7c9fabadab09 Mon Sep 17 00:00:00 2001 From: EpicKnarvik97 Date: Fri, 17 Apr 2020 12:51:57 +0200 Subject: [PATCH] =?UTF-8?q?Legger=20til=20en=20sjekk=20for=20ugylding=20sp?= =?UTF-8?q?illstatus=20n=C3=A5r=20power=20down=20velges?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gamewrapper/screens/PowerDownScreen.java | 41 +++++++++---------- 1 file changed, 19 insertions(+), 22 deletions(-) diff --git a/src/main/java/inf112/fiasko/roborally/gamewrapper/screens/PowerDownScreen.java b/src/main/java/inf112/fiasko/roborally/gamewrapper/screens/PowerDownScreen.java index 7c0b4b3..e839b97 100644 --- a/src/main/java/inf112/fiasko/roborally/gamewrapper/screens/PowerDownScreen.java +++ b/src/main/java/inf112/fiasko/roborally/gamewrapper/screens/PowerDownScreen.java @@ -9,15 +9,10 @@ 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; -import inf112.fiasko.roborally.elementproperties.Action; import inf112.fiasko.roborally.elementproperties.GameState; import inf112.fiasko.roborally.gamewrapper.RoboRallyWrapper; import inf112.fiasko.roborally.gamewrapper.SimpleButton; import inf112.fiasko.roborally.networking.containers.ProgramAndPowerdownRequest; -import inf112.fiasko.roborally.objects.ProgrammingCard; - -import java.util.ArrayList; -import java.util.List; /** * This screen is used for asking players whether they want to power down @@ -49,7 +44,7 @@ public class PowerDownScreen extends AbstractScreen { powerDownButton.addListener(new InputListener() { @Override public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) { - sendPowerdownStatus(true); + sendPowerDownStatus(true); return true; } }); @@ -75,27 +70,29 @@ public class PowerDownScreen extends AbstractScreen { stage.draw(); if (elapsedTime > 10) { - sendPowerdownStatus( false); + sendPowerDownStatus( false); } } - public void sendPowerdownStatus (boolean bool){ - if(roboRallyWrapper.roboRallyGame.getGameState()== GameState.CHOOSING_STAY_IN_POWER_DOWN){ - roboRallyWrapper.roboRallyGame.setGameState(GameState.TURN_CLEANUP); - roboRallyWrapper.client.sendElement(bool); + /** + * Sends power down status to the server + * @param bool Whether the player wants to go/stay in power down + */ + private void sendPowerDownStatus(boolean bool) { + switch (roboRallyWrapper.roboRallyGame.getGameState()) { + case CHOOSING_STAY_IN_POWER_DOWN: + roboRallyWrapper.roboRallyGame.setGameState(GameState.TURN_CLEANUP); + roboRallyWrapper.client.sendElement(bool); + break; + case CHOOSING_POWER_DOWN: + roboRallyWrapper.roboRallyGame.setGameState(GameState.LOADING); + roboRallyWrapper.client.sendElement(new ProgramAndPowerdownRequest(bool, + roboRallyWrapper.roboRallyGame.getProgram())); + break; + default: + throw new IllegalStateException("The game is in an unexpected state. Cannot continue."); } - else if (roboRallyWrapper.roboRallyGame.getGameState()==GameState.CHOOSING_POWER_DOWN){ - - roboRallyWrapper.roboRallyGame.setGameState(GameState.LOADING); - - roboRallyWrapper.client.sendElement(new ProgramAndPowerdownRequest(bool, - roboRallyWrapper.roboRallyGame.getProgram())); - - } - - roboRallyWrapper.setScreen(roboRallyWrapper.screenManager.getLoadingScreen(this.roboRallyWrapper)); - } @Override