From eb4eae4605cb68a9ca20eacfaf8eba8db23db79b Mon Sep 17 00:00:00 2001 From: rubenpirreram Date: Thu, 14 May 2026 13:55:27 +0200 Subject: [PATCH] Fixed: disconnection during lobby creation(NetworkSide) --- .../java/it/polimi/ingsw/gc14/ServerLauncher.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/java/it/polimi/ingsw/gc14/ServerLauncher.java b/src/main/java/it/polimi/ingsw/gc14/ServerLauncher.java index 1fe83c8..e2bf223 100644 --- a/src/main/java/it/polimi/ingsw/gc14/ServerLauncher.java +++ b/src/main/java/it/polimi/ingsw/gc14/ServerLauncher.java @@ -120,9 +120,17 @@ public class ServerLauncher { Game game=gameController.getModel(); if(!event.getIsError()) { - event.setData(game.getSlotMap(),game.orderLogicCard,game.getCurrentState(),game.getPlayerByUsername(event.getUsername())); - if(event.getEventType().equals(EventType.TOTEM_CHOICE)) - ((TotemChoice)event).setAvailableTotems(gameController.getModel().getAvailableTotems()); + if(event.getEventType().equals(EventType.DISCONNECTED_PLAYER)&& game.getCurrentState().equals(GameStages.WAITING)) + { + playerList.remove(event.getUsername()); + }else { + event.setData(game.getSlotMap(), game.orderLogicCard, game.getCurrentState(), game.getPlayerByUsername(event.getUsername())); + if (event.getEventType().equals(EventType.TOTEM_CHOICE)) { + ((TotemChoice) event).setAvailableTotems(gameController.getModel().getAvailableTotems()); + } else if (event.getEventType().equals(EventType.DISCONNECTED_PLAYER) && game.getCurrentState().equals(GameStages.WAITING)) { + playerList.remove(event.getUsername()); + } + } } serverRMI.notifyAll(event); serverTCP.notifyAll(event);