made the determinstartplayer machine fully functional
This commit is contained in:
@@ -3,6 +3,7 @@
|
|||||||
import pp.mdga.client.ceremonyState.CeremonyStates;
|
import pp.mdga.client.ceremonyState.CeremonyStates;
|
||||||
import pp.mdga.client.ceremonyState.PodiumState;
|
import pp.mdga.client.ceremonyState.PodiumState;
|
||||||
import pp.mdga.client.ceremonyState.StatisticsState;
|
import pp.mdga.client.ceremonyState.StatisticsState;
|
||||||
|
import pp.mdga.notification.CeremonyNotification;
|
||||||
|
|
||||||
public class CeremonyState extends ClientState {
|
public class CeremonyState extends ClientState {
|
||||||
|
|
||||||
@@ -15,9 +16,19 @@ public CeremonyState(ClientState parent, ClientGameLogic logic) {
|
|||||||
super(parent, logic);
|
super(parent, logic);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private CeremonyNotification prepareNotification(){
|
||||||
|
CeremonyNotification notification = new CeremonyNotification();
|
||||||
|
|
||||||
|
//TODO: creation of the notification
|
||||||
|
|
||||||
|
return notification;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void enter() {
|
public void enter() {
|
||||||
currentState = podiumState;
|
currentState = podiumState;
|
||||||
|
logic.addNotification(prepareNotification());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
package pp.mdga.client;
|
package pp.mdga.client;
|
||||||
|
|
||||||
import pp.mdga.client.gameState.*;
|
import pp.mdga.client.gameState.*;
|
||||||
|
import pp.mdga.message.server.DieMessage;
|
||||||
import pp.mdga.message.server.PauseGameMessage;
|
import pp.mdga.message.server.PauseGameMessage;
|
||||||
|
import pp.mdga.message.server.RankingResponseMessage;
|
||||||
|
import pp.mdga.message.server.RankingRollAgainMessage;
|
||||||
import pp.mdga.notification.InterruptNotification;
|
import pp.mdga.notification.InterruptNotification;
|
||||||
|
|
||||||
public class GameState extends ClientState {
|
public class GameState extends ClientState {
|
||||||
@@ -40,12 +43,32 @@ public void selectAnimationEnd(){
|
|||||||
state.selectAnimationEnd();
|
state.selectAnimationEnd();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void selectDice(){
|
||||||
|
state.selectDice();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void received(PauseGameMessage msg){
|
public void received(PauseGameMessage msg){
|
||||||
logic.enterInterrupt();
|
logic.enterInterrupt();
|
||||||
logic.addNotification(new InterruptNotification(logic.getGame().getPlayers().get(msg.getPlayerId()).getColor()));
|
logic.addNotification(new InterruptNotification(logic.getGame().getPlayers().get(msg.getPlayerId()).getColor()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(DieMessage msg){
|
||||||
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(RankingRollAgainMessage msg){
|
||||||
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(RankingResponseMessage msg){
|
||||||
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
public GameStates getState(){
|
public GameStates getState(){
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,9 @@
|
|||||||
import pp.mdga.client.gameState.determineStartPlayerState.DetermineStartPlayerStates;
|
import pp.mdga.client.gameState.determineStartPlayerState.DetermineStartPlayerStates;
|
||||||
import pp.mdga.client.gameState.determineStartPlayerState.RollRankingDiceState;
|
import pp.mdga.client.gameState.determineStartPlayerState.RollRankingDiceState;
|
||||||
import pp.mdga.client.gameState.determineStartPlayerState.WaitRankingState;
|
import pp.mdga.client.gameState.determineStartPlayerState.WaitRankingState;
|
||||||
|
import pp.mdga.message.server.DieMessage;
|
||||||
|
import pp.mdga.message.server.RankingResponseMessage;
|
||||||
|
import pp.mdga.message.server.RankingRollAgainMessage;
|
||||||
|
|
||||||
public class DetermineStartPlayerState extends GameStates {
|
public class DetermineStartPlayerState extends GameStates {
|
||||||
|
|
||||||
@@ -36,6 +39,26 @@ public void setState(DetermineStartPlayerStates state) {
|
|||||||
this.state = state;
|
this.state = state;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void selectDice() {
|
||||||
|
state.selectDice();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(DieMessage msg){
|
||||||
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(RankingRollAgainMessage msg){
|
||||||
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(RankingResponseMessage msg){
|
||||||
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
public RollRankingDiceState getRollRankingDice() {
|
public RollRankingDiceState getRollRankingDice() {
|
||||||
return rollRankingDiceState;
|
return rollRankingDiceState;
|
||||||
}
|
}
|
||||||
@@ -47,4 +70,8 @@ public WaitRankingState getWaitRanking() {
|
|||||||
public DetermineStartPlayerStates getState(){
|
public DetermineStartPlayerStates getState(){
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public GameState getParent() {
|
||||||
|
return parent;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
import pp.mdga.client.gameState.DetermineStartPlayerState;
|
import pp.mdga.client.gameState.DetermineStartPlayerState;
|
||||||
import pp.mdga.message.client.RequestDieMessage;
|
import pp.mdga.message.client.RequestDieMessage;
|
||||||
import pp.mdga.message.server.DieMessage;
|
import pp.mdga.message.server.DieMessage;
|
||||||
|
import pp.mdga.notification.DiceNowNotification;
|
||||||
|
|
||||||
public class RollRankingDiceState extends DetermineStartPlayerStates {
|
public class RollRankingDiceState extends DetermineStartPlayerStates {
|
||||||
|
|
||||||
@@ -17,7 +18,7 @@ public RollRankingDiceState(ClientState parent, ClientGameLogic logic) {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void enter() {
|
public void enter() {
|
||||||
|
logic.addNotification(new DiceNowNotification());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
import pp.mdga.client.gameState.DetermineStartPlayerState;
|
import pp.mdga.client.gameState.DetermineStartPlayerState;
|
||||||
import pp.mdga.message.server.RankingResponseMessage;
|
import pp.mdga.message.server.RankingResponseMessage;
|
||||||
import pp.mdga.message.server.RankingRollAgainMessage;
|
import pp.mdga.message.server.RankingRollAgainMessage;
|
||||||
|
import pp.mdga.notification.ActivePlayerNotification;
|
||||||
|
|
||||||
public class WaitRankingState extends DetermineStartPlayerStates {
|
public class WaitRankingState extends DetermineStartPlayerStates {
|
||||||
|
|
||||||
@@ -32,6 +33,8 @@ public void received(RankingRollAgainMessage msg){
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void received(RankingResponseMessage msg){
|
public void received(RankingResponseMessage msg){
|
||||||
//TODO: implement
|
logic.addNotification(new ActivePlayerNotification(logic.getGame().getPlayers().get(msg.getStartingPlayerId()).getColor()));
|
||||||
|
logic.getGame().setActiveColor(logic.getGame().getPlayers().get(msg.getStartingPlayerId()).getColor());
|
||||||
|
parent.getParent().setState(parent.getParent().getWaiting());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,11 +7,32 @@
|
|||||||
*/
|
*/
|
||||||
@Serializable
|
@Serializable
|
||||||
public class RankingResponseMessage extends ServerMessage {
|
public class RankingResponseMessage extends ServerMessage {
|
||||||
|
|
||||||
|
private final int startingPlayerId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructs a new RankingResponse instance.
|
||||||
|
*/
|
||||||
|
public RankingResponseMessage(int startingPlayerId) {
|
||||||
|
super();
|
||||||
|
this.startingPlayerId = startingPlayerId;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructs a new RankingResponse instance.
|
* Constructs a new RankingResponse instance.
|
||||||
*/
|
*/
|
||||||
public RankingResponseMessage() {
|
public RankingResponseMessage() {
|
||||||
super();
|
super();
|
||||||
|
this.startingPlayerId = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The id of the starting Player.
|
||||||
|
*
|
||||||
|
* @return the id of the starting player as an int
|
||||||
|
*/
|
||||||
|
public int getStartingPlayerId() {
|
||||||
|
return startingPlayerId;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user