From ea72a6848a25ff335bc8b67c8507f622351ea180 Mon Sep 17 00:00:00 2001 From: Tobydrama Date: Mon, 20 Apr 2020 18:05:24 +0200 Subject: [PATCH] endre til objktet Boolean --- .../gamewrapper/screens/PowerDownScreen.java | 2 +- .../roborally/networking/RoboRallyClient.java | 5 ++++- .../networking/RoboRallyClientListener.java | 22 ++++++++++--------- .../containers/PowerDownContainer.java | 8 ++++++- 4 files changed, 24 insertions(+), 13 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 63c8e62..2d6fb07 100644 --- a/src/main/java/inf112/fiasko/roborally/gamewrapper/screens/PowerDownScreen.java +++ b/src/main/java/inf112/fiasko/roborally/gamewrapper/screens/PowerDownScreen.java @@ -71,7 +71,7 @@ public class PowerDownScreen extends AbstractScreen { stage.draw(); if (elapsedTime > 10) { - sendPowerDownStatus(false); + sendPowerDownStatus(Boolean.FALSE); } } diff --git a/src/main/java/inf112/fiasko/roborally/networking/RoboRallyClient.java b/src/main/java/inf112/fiasko/roborally/networking/RoboRallyClient.java index 7ba07f3..5c8ee98 100644 --- a/src/main/java/inf112/fiasko/roborally/networking/RoboRallyClient.java +++ b/src/main/java/inf112/fiasko/roborally/networking/RoboRallyClient.java @@ -24,8 +24,8 @@ public class RoboRallyClient { client.start(); NetworkUtil.registerClasses(client.getKryo()); client.connect(5000, ipAddress, 54555, 54777); - client.addListener(new RoboRallyClientListener(wrapper)); + } /** @@ -35,6 +35,9 @@ public class RoboRallyClient { */ public void sendElement(Object object) { try { + if(!client.isConnected()){ + client.reconnect(); + } client.sendTCP(object); } catch (Exception e) { e.printStackTrace(); diff --git a/src/main/java/inf112/fiasko/roborally/networking/RoboRallyClientListener.java b/src/main/java/inf112/fiasko/roborally/networking/RoboRallyClientListener.java index cf43a9b..ac1e5ed 100644 --- a/src/main/java/inf112/fiasko/roborally/networking/RoboRallyClientListener.java +++ b/src/main/java/inf112/fiasko/roborally/networking/RoboRallyClientListener.java @@ -39,18 +39,20 @@ class RoboRallyClientListener extends Listener { GameStartInfo info = (GameStartInfo) object; wrapper.roboRallyGame = new RoboRallyGame(info.getPlayerList(), info.getBoardName(), wrapper.server != null, info.getPlayerName(), wrapper.server); - } else if (object instanceof ProgrammingCardDeck) { - wrapper.roboRallyGame.setGameState(GameState.CHOOSING_CARDS); - wrapper.roboRallyGame.setPlayerHand((ProgrammingCardDeck) object); + } else if (object instanceof ProgrammingCardDeck) { + wrapper.roboRallyGame.setGameState(GameState.CHOOSING_CARDS); + new Thread(() -> wrapper.roboRallyGame.setPlayerHand((ProgrammingCardDeck) object)).start(); } else if (object instanceof ProgamsContainer) { - try { + new Thread(() -> { + try { wrapper.roboRallyGame.receiveAllPrograms((ProgamsContainer) object); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } else if (object instanceof PowerDownContainer) { - wrapper.roboRallyGame.receiveStayInPowerDown((PowerDownContainer) object); - } + } catch (InterruptedException e) { + e.printStackTrace(); + } + }).start(); + } else if (object instanceof PowerDownContainer) { + new Thread(() -> wrapper.roboRallyGame.receiveStayInPowerDown((PowerDownContainer) object)).start(); + } } } diff --git a/src/main/java/inf112/fiasko/roborally/networking/containers/PowerDownContainer.java b/src/main/java/inf112/fiasko/roborally/networking/containers/PowerDownContainer.java index 8849b12..6d60a47 100644 --- a/src/main/java/inf112/fiasko/roborally/networking/containers/PowerDownContainer.java +++ b/src/main/java/inf112/fiasko/roborally/networking/containers/PowerDownContainer.java @@ -6,8 +6,14 @@ import java.util.Map; * This class is used to contain power down status for all players */ public class PowerDownContainer { - private final Map powerDown; + private Map powerDown; + /** + * IMPORTANT!!! + * DO NOT USE! + * Kryonet demands a no args constructor or else it throws a exception + */ + public PowerDownContainer(){} /** * Instantiates a new power down container *