added more logic for the server state diagram
This commit is contained in:
@@ -1,5 +1,11 @@
|
||||
package pp.mdga.server;
|
||||
|
||||
import pp.mdga.client.Spectator;
|
||||
import pp.mdga.game.Player;
|
||||
import pp.mdga.message.server.ActivePlayer;
|
||||
import pp.mdga.message.server.Ceremony;
|
||||
import pp.mdga.message.server.EndOfTurn;
|
||||
|
||||
public class Turn extends ServerState {
|
||||
private final TurnStateMachine turnStateMachine = new TurnStateMachine(this, logic);
|
||||
|
||||
@@ -8,4 +14,23 @@ public Turn(ServerState parent, ServerGameLogic logic) {
|
||||
}
|
||||
|
||||
// todo: when TurnStateMachine is in the end state, and then?
|
||||
@Override
|
||||
public void exit() {
|
||||
Player player = logic.getGame().getStartPlayer();
|
||||
|
||||
// if (player.isFinished()) {
|
||||
// logic.send(player, new Spectator());
|
||||
// } else {
|
||||
// logic.send(player, new EndOfTurn());
|
||||
// }
|
||||
|
||||
if (logic.getGame().getPlayers().size() == 1) {
|
||||
broadcastUpdate(new Ceremony());
|
||||
this.getParent().getParent().exit();
|
||||
} else {
|
||||
// todo: next player
|
||||
broadcastUpdate(new ActivePlayer());
|
||||
parent.gotoState(new Animation(parent, logic));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user