added more logic for the server state diagram

This commit is contained in:
Daniel Grigencha
2024-11-22 09:37:49 +01:00
parent 04501de11c
commit 89232901a7
21 changed files with 570 additions and 251 deletions

View File

@@ -1,15 +1,21 @@
package pp.mdga.server;
import pp.mdga.message.server.ResumeGame;
public class Interrupt extends ServerState {
public Interrupt(ServerState parent, ServerGameLogic logic) {
private final GameState lastState;
public Interrupt(ServerState parent, ServerGameLogic logic, GameState lastState) {
super(parent, logic);
this.lastState = lastState;
logic.getGame().addObserver(this);
}
@Override
public void update() {
if (!logic.getGame().gameIsInterrupted()) {
parent.gotoState(new GameState(parent, logic));
if (Boolean.FALSE.equals(logic.getGame().gameIsInterrupted())) {
broadcastUpdate(new ResumeGame());
parent.gotoState(lastState);
logic.getGame().removeObserver(this);
}
}