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.RankingResponse;
 | 
						|
 | 
						|
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(RankingResponse 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);
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |