From 61697d75974633fc27864ee8bc31e29316d87b3a Mon Sep 17 00:00:00 2001 From: Sebastian Lenzlinger Date: Sun, 17 Apr 2022 15:38:40 +0200 Subject: [PATCH] whisper is functional in with gui. decode whisper msg added to client handler and used in JServerProtcolParser now to correctly decode the messages --- .../cs108/multiplayer/client/gui/chat/ChatController.java | 8 ++++++++ .../dmi/dbis/cs108/multiplayer/server/ClientHandler.java | 1 + 2 files changed, 9 insertions(+) diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/ChatController.java b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/ChatController.java index 6d4a9db..b27d738 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/ChatController.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/ChatController.java @@ -112,6 +112,8 @@ public class ChatController implements Initializable { l.setBackground(Background.fill(Color.LAVENDER)); vBoxChatMessages.getChildren().add(l); chatMsgField.clear(); + } else { + LOGGER.debug("Trying to send an empty message."); } } }); @@ -146,11 +148,17 @@ public class ChatController implements Initializable { } }); + //Possibly now the whisperTargetChosenProperty is obsolete whisperTargetSelectField.textProperty().addListener(new ChangeListener() { @Override public void changed(ObservableValue observable, String oldValue, String newValue) { whisperTargetSelectField.setText(newValue); + if (newValue.isEmpty()) { + cmd = chatToLobby + "$"; + } else { + cmd = whisper + "$" + whisperTargetSelectField.getText() + "$"; + } } }); } 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 874bcea..6056f82 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 @@ -195,6 +195,7 @@ public class ClientHandler implements Runnable { Lobby l = getLobby(); if (l != null) { for (ClientHandler client : l.getLobbyClients()) { + //Todo do not send chat msg to self client.sendMsgToClient(Protocol.printToClientChat + "$" + msg); } }