Fixed: disconnection during lobby creation--> currentStateProblem

This commit is contained in:
rubenpirreram
2026-05-14 14:04:22 +02:00
parent eb4eae4605
commit 6ff79f2e1d
3 changed files with 10 additions and 5 deletions
@@ -96,8 +96,9 @@ public class Game implements Serializable {
return false;
}
disconnetedPlayers.put(player,true);
if (currentState.equals(GameStages.WAITING)) {
if (currentState.getGameStage().equals(GameStages.WAITING)) {
playersList.remove(player);
totemChoiceQueue.remove(player);
return true;
}
if(currentState.getCurrentPlayer().equals(player)) {
@@ -120,7 +120,7 @@ public class ServerLauncher {
Game game=gameController.getModel();
if(!event.getIsError())
{
if(event.getEventType().equals(EventType.DISCONNECTED_PLAYER)&& game.getCurrentState().equals(GameStages.WAITING))
if(event.getEventType().equals(EventType.DISCONNECTED_PLAYER)&& game.getCurrentState().getGameStage().equals(GameStages.WAITING))
{
playerList.remove(event.getUsername());
}else {
@@ -155,7 +155,6 @@ public class ServerLauncher {
else if(!this.gameSave() ){
System.out.println("\n!!! Save failed !!!\n");
}
}
if (event.getEventType().equals(EventType.DISCONNECTED_PLAYER) && playerList.values().stream().filter(x -> x).count() == 1) {
if (disconnectionTimer != null && !disconnectionTimer.isDone()) {
@@ -266,7 +265,12 @@ public class ServerLauncher {
while (true) {
try{
this.doFirstEvent();
this.view.fullRender();
try{
this.view.fullRender();
}
catch (NullPointerException e){
}
}
catch(InterruptedException e){
Thread.currentThread().interrupt();
@@ -29,7 +29,7 @@ public class TotemFXMLController {
ImageView img = new ImageView(new Image(getClass().getResourceAsStream("/GUIImages/Totems/totem_"+ String.valueOf(totem).toLowerCase(Locale.ROOT) +".png")));
img.setFitHeight(240);
img.setPreserveRatio(true);
img.setOnMouseClicked(e -> controller.totemChoice(controller.myUsername));
//img.setOnMouseClicked(e -> controller.totemChoice(controller.myUsername));
mainHBox.getChildren().add(img);
}
}