diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/gamelogic/klassenstruktur/GhostPlayer.java b/src/main/java/ch/unibas/dmi/dbis/cs108/gamelogic/klassenstruktur/GhostPlayer.java index 450961d..c89bce0 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/gamelogic/klassenstruktur/GhostPlayer.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/gamelogic/klassenstruktur/GhostPlayer.java @@ -38,5 +38,24 @@ public class GhostPlayer extends Ghost { String formattedMsg = ServerGameInfoHandler.format(msg, game); clientHandler.sendMsgToClient(formattedMsg); } + + /** + * Gets the voting information vote and hasVoted from clientHandler and this values to those values. + * Sets clientHandler fields to default: vote = Integer.MAX_VALUE , hasVoted = false + */ + @Override + public void getVoteFromClientHandler() { + vote = clientHandler.getVote(); + hasVoted = clientHandler.getHasVoted(); + clientHandler.setVote(Integer.MAX_VALUE); + clientHandler.setHasVoted(false); + /* + * if vote wasn't valid, make sure, the passenger field hasVoted == false, probably redundant but better be safe than sorry + */ + if(vote == Integer.MAX_VALUE) { + hasVoted = false; + } + } + } diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/gamelogic/klassenstruktur/HumanPlayer.java b/src/main/java/ch/unibas/dmi/dbis/cs108/gamelogic/klassenstruktur/HumanPlayer.java index 54bce95..07469ac 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/gamelogic/klassenstruktur/HumanPlayer.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/gamelogic/klassenstruktur/HumanPlayer.java @@ -35,4 +35,22 @@ public class HumanPlayer extends Human { String formattedMsg = ServerGameInfoHandler.format(msg, game); clientHandler.sendMsgToClient(formattedMsg); } + + /** + * Gets the voting information vote and hasVoted from clientHandler and this values to those values. + * Sets clientHandler fields to default: vote = Integer.MAX_VALUE , hasVoted = false + */ + @Override + public void getVoteFromClientHandler() { + vote = clientHandler.getVote(); + hasVoted = clientHandler.getHasVoted(); + clientHandler.setVote(Integer.MAX_VALUE); + clientHandler.setHasVoted(false); + /* + * if vote wasn't valid, make sure, the passenger field hasVoted == false, probably redundant but better be safe than sorry + */ + if(vote == Integer.MAX_VALUE) { + hasVoted = false; + } + } } diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/gamelogic/klassenstruktur/Passenger.java b/src/main/java/ch/unibas/dmi/dbis/cs108/gamelogic/klassenstruktur/Passenger.java index ef40ce9..12167e9 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/gamelogic/klassenstruktur/Passenger.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/gamelogic/klassenstruktur/Passenger.java @@ -109,4 +109,7 @@ public class Passenger { return clientHandler; } + public void getVoteFromClientHandler() { + } + }