70 lines
1.9 KiB
Java
70 lines
1.9 KiB
Java
package pp.mdga.server;
|
|
|
|
import pp.mdga.message.client.*;
|
|
import pp.mdga.message.server.PauseGame;
|
|
import pp.mdga.message.server.PossibleCard;
|
|
import pp.mdga.message.server.RankingResponce;
|
|
|
|
public class GameState extends ServerState {
|
|
private final GameStateMachine gameStateMachine = new GameStateMachine(this, logic);
|
|
|
|
public GameState(ServerState parent, ServerGameLogic logic) {
|
|
super(parent, logic);
|
|
logic.getGame().addObserver(this);
|
|
}
|
|
|
|
@Override
|
|
public void entry() {
|
|
gameStateMachine.entry();
|
|
}
|
|
|
|
@Override
|
|
public void exit() {
|
|
parent.gotoState(new Ceremony(parent, logic));
|
|
}
|
|
|
|
@Override
|
|
public void receivedAnimationEnd(AnimationEnd msg, int from) {
|
|
gameStateMachine.receivedAnimationEnd(msg, from);
|
|
}
|
|
|
|
@Override
|
|
public void receivedNoPowerCard(NoPowerCard msg, int from) {
|
|
gameStateMachine.receivedNoPowerCard(msg, from);
|
|
}
|
|
|
|
@Override
|
|
public void receivedSelectCard(SelectCard msg, int from) {
|
|
gameStateMachine.receivedSelectCard(msg, from);
|
|
}
|
|
|
|
@Override
|
|
public void receivedRequestDice(RequestDice msg, int from) {
|
|
gameStateMachine.receivedRequestDice(msg, from);
|
|
}
|
|
|
|
@Override
|
|
public void receivedSelectedPieces(SelectedPieces msg, int from) {
|
|
gameStateMachine.receivedSelectedPieces(msg, from);
|
|
}
|
|
|
|
@Override
|
|
public void sentPossibleCard(PossibleCard msg, int from) {
|
|
gameStateMachine.sentPossibleCard(msg, from);
|
|
}
|
|
|
|
@Override
|
|
public void sentRankingResponse(RankingResponce msg, int from) {
|
|
gameStateMachine.sentRankingResponse(msg, from);
|
|
}
|
|
|
|
@Override
|
|
public void update() {
|
|
if (Boolean.TRUE.equals(logic.getGame().playerHasDisconnected())) {
|
|
broadcastUpdate(new PauseGame());
|
|
parent.gotoState(new Interrupt(parent, logic, this));
|
|
logic.getGame().removeObserver(this);
|
|
}
|
|
}
|
|
}
|