added more logic for the server state diagram
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user