From 8ecfd8e5e11a33d6df68d0b87306c3920a41d2a3 Mon Sep 17 00:00:00 2001 From: Seraina Date: Fri, 13 May 2022 15:45:38 +0200 Subject: [PATCH] found bug: Vote Buttons are now only visible if you can actually vote --- .../unibas/dmi/dbis/cs108/multiplayer/client/Client.java | 9 +++++++-- .../cs108/multiplayer/client/gui/GameStateModel.java | 1 + .../multiplayer/client/gui/game/GameController.java | 8 ++++---- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/Client.java b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/Client.java index 3d6d5e1..5ab41fa 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/Client.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/Client.java @@ -100,6 +100,10 @@ public class Client { ChatController.getClient().setUsername(newName); } + public GameStateModel getGameStateModel() { + return gameStateModel; + } + /** * Sends a message to the Server in a formatted way COMND$msg */ @@ -347,17 +351,18 @@ public class Client { gameStateModel.setDayClone(false); LOGGER.debug("----------------Night, Your role is:" + gameStateModel.getYourRole() + gameStateModel); chatApp.getGameController().setNoiseButtonInvisible(); - chatApp.getGameController().setVoteButtonVisibilityNight(); + chatApp.getGameController().setVoteButtonVisibilityNight(gameStateModel); break; case GuiParameters.day: //ClientGameInfoHandler gameStateModel.setDayClone(true); LOGGER.debug("----------------Day, Your role is:" + gameStateModel.getYourRole()+ gameStateModel); chatApp.getGameController().setNoiseButtonVisible(); - chatApp.getGameController().setVoteButtonVisibilityDay(); + chatApp.getGameController().setVoteButtonVisibilityDay(gameStateModel); break; case GuiParameters.updateGameState: gameStateModel.setGSFromString(data); chatApp.getGameController().updateRoomLabels(); + gameStateModel.setRoleFromPosition(position); break; case GuiParameters.noiseHeardAtPosition: try { diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/GameStateModel.java b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/GameStateModel.java index e4066e0..1a0a399 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/GameStateModel.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/GameStateModel.java @@ -138,6 +138,7 @@ public class GameStateModel { String role = "h"; try { role = passengerTrainClone[1][position]; + LOGGER.debug("-----------------------Role in Set role:" + role); } catch (Exception e) { LOGGER.warn("Not an integer between 0-5"); } diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/GameController.java b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/GameController.java index d1a1ed1..d1cff06 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/GameController.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/GameController.java @@ -131,12 +131,12 @@ public class GameController implements Initializable { return chatAreaGame; } - public void setVoteButtonVisibilityDay(){ + public void setVoteButtonVisibilityDay(GameStateModel g){ Platform.runLater(new Runnable() { @Override public void run() { LOGGER.debug(buttonRoom0); - if (gameStateModel.getYourRole().equals("h")) { + if (g.getYourRole().equals("h")) { try { buttonRoom0.setVisible(true); buttonRoom1.setVisible(true); @@ -164,12 +164,12 @@ public class GameController implements Initializable { }); } - public void setVoteButtonVisibilityNight(){ + public void setVoteButtonVisibilityNight(GameStateModel g){ Platform.runLater(new Runnable() { @Override public void run() { LOGGER.debug(buttonRoom0); - if (gameStateModel.getYourRole().equals("g")) { + if (g.getYourRole().equals("g")) { try { buttonRoom0.setVisible(true); buttonRoom1.setVisible(true);