From 6297439c3c3badfaaf55f88d42cd67851c801589 Mon Sep 17 00:00:00 2001 From: Sebastian Lenzlinger Date: Fri, 8 Apr 2022 17:21:13 +0200 Subject: [PATCH] finnished listAllLobbiesToClient() --- .../multiplayer/server/ClientHandler.java | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/server/ClientHandler.java b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/server/ClientHandler.java index 56408a7..d4585f7 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/server/ClientHandler.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/server/ClientHandler.java @@ -227,14 +227,26 @@ public class ClientHandler implements Runnable { sendMsgToClient(Protocol.printToClientConsole + "$New lobby with ID: " + newGame + " created."); } - public void listAllLobbies() { - if(serverData.getAllLobbies().isEmpty()) { - sendMsgToClient(Protocol.printToClientConsole +"$There are currently no open lobbies"); + /** + * Creates a list of all lobbies to send to client after LISTL command. Uses + * Lobby.getIdAndAdminForList() to build a formated list for the client. used in + * JServerProtocolParser. + */ + public void listAllLobbiesToClient() { + StringBuilder response = new StringBuilder(); + response.append(Protocol.pingBack); + response.append("$"); + if (serverData.getAllLobbies().isEmpty()) { + response.append("There are currently no open lobbies"); LOGGER.debug("No open lobbies"); } else { - StringBuilder response = new StringBuilder(); - + for (Lobby l : serverData.getAllLobbies()) { + response.append(l.getIdAndAdminForList()); + } } + LOGGER.debug( + "RESPONSE TO LISTL: " + response.toString() + " requested by: " + this.clientUserName); + sendMsgToClient(response.toString()); } /**