diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/determinestartplayerstate/WaitRankingState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/determinestartplayerstate/WaitRankingState.java index c5102152..c1d61a16 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/determinestartplayerstate/WaitRankingState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/determinestartplayerstate/WaitRankingState.java @@ -10,12 +10,21 @@ public class WaitRankingState extends DetermineStartPlayerStates { private final DetermineStartPlayerState parent; + private boolean canChange = false; public WaitRankingState(ClientState parent, ClientGameLogic logic) { super(parent, logic); this.parent = (DetermineStartPlayerState) parent; } + private void changeToIntro(){ + if(!canChange){ + canChange = true; + return; + } + parent.setState(parent.getIntro()); + } + @Override public void enter() { } @@ -35,9 +44,15 @@ public void received(RankingResponseMessage msg){ } + @Override + public void selectAnimationEnd(){ + changeToIntro(); + logic.send(new AnimationEndMessage()); + } + @Override public void received(ActivePlayerMessage msg){ logic.getGame().setActiveColor(msg.getColor()); - parent.setState(parent.getIntro()); + changeToIntro(); } }