diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/AnimationState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/AnimationState.java index 8d6661b9..c1ba800e 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/AnimationState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/AnimationState.java @@ -11,10 +11,15 @@ */ public class AnimationState extends GameAutomatonState { /** - * Create FirstRollState constants. + * Create AnimationState constants. */ private static final System.Logger LOGGER = System.getLogger(AnimationState.class.getName()); + /** + * Create AnimationState attributes. + */ + private int messageReceived = 0; + /** * Constructs a server state of the specified game logic. * @@ -33,6 +38,7 @@ public void enter() { @Override public void exit() { LOGGER.log(System.Logger.Level.DEBUG, "Exited AnimationState state."); + this.messageReceived = 0; } /** @@ -44,7 +50,11 @@ public void exit() { */ @Override public void received(AnimationEndMessage msg, int from) { - this.logic.getServerSender().send(from, new DiceNowMessage()); - this.gameAutomaton.setCurrentState(this.gameAutomaton.getTurnState()); + if (this.messageReceived == this.logic.getGame().getPlayers().size()) { + this.logic.getServerSender().send(this.logic.getGame().getActivePlayerId(), new DiceNowMessage()); + this.gameAutomaton.setCurrentState(this.gameAutomaton.getTurnState()); + } else { + this.messageReceived++; + } } }