From ab4c7159f3870d856f88da9c90357830db5d5118 Mon Sep 17 00:00:00 2001 From: Hanno Fleischer Date: Mon, 16 Dec 2024 12:08:18 +0100 Subject: [PATCH] Server now closes correctly when host is leaving --- Projekte/mdga/client/src/main/java/pp/mdga/client/MdgaApp.java | 2 +- .../client/src/main/java/pp/mdga/client/server/MdgaServer.java | 1 + .../src/main/java/pp/mdga/client/dialogstate/LobbyState.java | 3 +-- 3 files changed, 3 insertions(+), 3 deletions(-) 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()); } /**