diff --git a/Projekte/mdga/client/src/main/java/pp/mdga/client/MdgaApp.java b/Projekte/mdga/client/src/main/java/pp/mdga/client/MdgaApp.java index b3dfa790..6e7d19e4 100644 --- a/Projekte/mdga/client/src/main/java/pp/mdga/client/MdgaApp.java +++ b/Projekte/mdga/client/src/main/java/pp/mdga/client/MdgaApp.java @@ -204,7 +204,7 @@ public void enter(MdgaState state) { switch (state) { case MAIN: view = mainView; - clientGameLogic.clear(); + clientGameLogic = new ClientGameLogic(networkConnection); break; case LOBBY: view = lobbyView; diff --git a/Projekte/mdga/client/src/main/java/pp/mdga/client/server/MdgaServer.java b/Projekte/mdga/client/src/main/java/pp/mdga/client/server/MdgaServer.java index 6b56ecd6..77443328 100644 --- a/Projekte/mdga/client/src/main/java/pp/mdga/client/server/MdgaServer.java +++ b/Projekte/mdga/client/src/main/java/pp/mdga/client/server/MdgaServer.java @@ -285,6 +285,7 @@ public void handleDisconnect(int id) { public void exit() { LOGGER.log(Level.INFO, "Requesting server shutdown"); //NON-NLS running = false; + pendingMessages.add(new ReceivedMessage(new AnimationEndMessage(), -1)); } /** diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogstate/LobbyState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogstate/LobbyState.java index 360ebba0..87e7ee9f 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogstate/LobbyState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogstate/LobbyState.java @@ -50,9 +50,8 @@ public void exit() { */ @Override public void selectLeave() { - parent.setState(parent.getStartDialog()); - logic.addNotification(new StartDialogNotification()); logic.send(new LeaveGameMessage()); + logic.addNotification(new StartDialogNotification()); } /**