Merge remote-tracking branch 'origin/development' into development
This commit is contained in:
@@ -190,6 +190,9 @@ public void received(ServerStartGameMessage msg) {
|
||||
state.received(msg);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void received(ShutdownMessage msg) {state.received(msg);}
|
||||
|
||||
@Override
|
||||
public void received(StartPieceMessage msg) {
|
||||
state.received(msg);
|
||||
|
||||
@@ -150,6 +150,9 @@ public void received(ServerStartGameMessage msg) {
|
||||
LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void received(ShutdownMessage msg) {LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg);}
|
||||
|
||||
@Override
|
||||
public void received(StartPieceMessage msg) {
|
||||
LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg);
|
||||
|
||||
@@ -207,4 +207,11 @@ public interface ServerInterpreter {
|
||||
* @param msg the SelectPiece message received.
|
||||
*/
|
||||
void received(SelectPieceMessage msg);
|
||||
|
||||
/**
|
||||
* Handles a SelectTSK message received from the server.
|
||||
*
|
||||
* @param shutdownMessage the SelectTSK message received.
|
||||
*/
|
||||
void received(ShutdownMessage shutdownMessage);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
package pp.mdga.message.server;
|
||||
|
||||
import com.jme3.network.serializing.Serializable;
|
||||
|
||||
/**
|
||||
* A message sent by the server to inform the clients that the server is shutting down.
|
||||
*/
|
||||
@Serializable
|
||||
public class ShutdownMessage extends ServerMessage {
|
||||
/**
|
||||
* Accepts a visitor to process this message.
|
||||
*
|
||||
* @param interpreter the visitor to process this message
|
||||
*/
|
||||
@Override
|
||||
public void accept(ServerInterpreter interpreter) {
|
||||
interpreter.received(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the bundle key of the informational text to be shown at the client.
|
||||
* This key is used to retrieve the appropriate localized text for display.
|
||||
*
|
||||
* @return the bundle key of the informational text
|
||||
*/
|
||||
@Override
|
||||
public String getInfoTextKey() {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
@@ -148,6 +148,9 @@ public void received(LobbyNotReadyMessage msg, int from) {
|
||||
*/
|
||||
@Override
|
||||
public void received(LeaveGameMessage msg, int from) {
|
||||
if (from == this.logic.getGame().getHost()) {
|
||||
this.logic.getServerSender().broadcast(new ShutdownMessage());
|
||||
}
|
||||
this.logic.getGame().removePlayer(from);
|
||||
this.logic.getServerSender().broadcast(new LobbyPlayerLeaveMessage(from));
|
||||
this.logic.getServerSender().disconnectClient(from);
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
import pp.mdga.message.client.RequestDieMessage;
|
||||
import pp.mdga.message.server.ActivePlayerMessage;
|
||||
import pp.mdga.message.server.DieMessage;
|
||||
import pp.mdga.message.server.EndOfTurnMessage;
|
||||
import pp.mdga.server.ServerGameLogic;
|
||||
import pp.mdga.server.automaton.GameState;
|
||||
|
||||
@@ -69,6 +70,7 @@ public void received(RequestDieMessage msg, int from) {
|
||||
maximumRoll = entry.getValue();
|
||||
} else {
|
||||
this.playersHaveToRoll.remove(entry.getKey());
|
||||
this.logic.getServerSender().send(entry.getKey(), new EndOfTurnMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user