added a new 'ShutdownMessage' for the server

This commit is contained in:
Daniel Grigencha
2024-12-02 02:31:55 +01:00
parent 8fcac9b809
commit b3fb2f8fa4
3 changed files with 11 additions and 0 deletions

View File

@@ -130,6 +130,7 @@ private void initializeSerializables() {
Serializer.registerClass(ReconnectBriefingMessage.class);
Serializer.registerClass(ResumeGameMessage.class);
Serializer.registerClass(ServerStartGameMessage.class);
Serializer.registerClass(ShutdownMessage.class);
Serializer.registerClass(StartPieceMessage.class);
Serializer.registerClass(UpdateReadyMessage.class);
Serializer.registerClass(UpdateTSKMessage.class);

View File

@@ -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);
}

View File

@@ -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);