From f954a24b321ce0571f3f68d3e531ee9cb0aea5db Mon Sep 17 00:00:00 2001 From: Fleischer Hanno Date: Mon, 9 Dec 2024 04:36:08 +0100 Subject: [PATCH] fixed in firstroll catching of endanimation messages by non active palyers --- .../server/automaton/game/turn/rolldice/FirstRollState.java | 3 +++ .../server/automaton/game/turn/rolldice/SecondRollState.java | 3 +++ .../server/automaton/game/turn/rolldice/ThirdRollState.java | 3 +++ 3 files changed, 9 insertions(+) diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/rolldice/FirstRollState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/rolldice/FirstRollState.java index 7dc061e1..09b518b0 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/rolldice/FirstRollState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/rolldice/FirstRollState.java @@ -66,6 +66,9 @@ public void received(RequestDieMessage msg, int from) { @Override public void received(AnimationEndMessage msg, int from) { + if (from != this.logic.getGame().getActivePlayerId()) { + return; + } if (!moveablePieces.isEmpty()) { this.logic.getServerSender().send(this.logic.getGame().getActivePlayerId(), new ChoosePieceStateMessage()); this.rollDiceAutomaton.getTurnAutomaton().setCurrentState(this.rollDiceAutomaton.getTurnAutomaton().getChoosePieceState()); diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/rolldice/SecondRollState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/rolldice/SecondRollState.java index 6b3f8819..6ad25b89 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/rolldice/SecondRollState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/rolldice/SecondRollState.java @@ -52,6 +52,9 @@ public void received(RequestDieMessage msg, int from) { @Override public void received(AnimationEndMessage msg, int from) { + if (from != this.logic.getGame().getActivePlayerId()) { + return; + } if (this.logic.getGame().getDiceEyes() == 6) { this.logic.getServerSender().send(this.logic.getGame().getActivePlayerId(), new ChoosePieceStateMessage()); this.rollDiceAutomaton.getTurnAutomaton().setCurrentState(this.rollDiceAutomaton.getTurnAutomaton().getChoosePieceState()); diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/rolldice/ThirdRollState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/rolldice/ThirdRollState.java index 34f0fb52..9b3ef90e 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/rolldice/ThirdRollState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/rolldice/ThirdRollState.java @@ -49,6 +49,9 @@ public void received(RequestDieMessage msg, int from) { @Override public void received(AnimationEndMessage msg, int from) { + if (from != this.logic.getGame().getActivePlayerId()) { + return; + } if (this.logic.getGame().getDiceEyes() == 6) { this.logic.getServerSender().send(this.logic.getGame().getActivePlayerId(), new ChoosePieceStateMessage()); this.rollDiceAutomaton.getTurnAutomaton().setCurrentState(this.rollDiceAutomaton.getTurnAutomaton().getChoosePieceState());