From c2d0af03b77fce6aff3fe6d3c7b08def0b3dac88 Mon Sep 17 00:00:00 2001 From: Julian Kropff Date: Fri, 24 Apr 2026 11:16:34 +0200 Subject: [PATCH] Fix: whisper chat not working in game UI --- .../client/ui/chatui/ChatBoxController.java | 5 +++++ .../ui/gameui/CasinoGameController.java | 19 ++++++++++++++----- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/client/ui/chatui/ChatBoxController.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/client/ui/chatui/ChatBoxController.java index 0947daf..4e0cd7f 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/client/ui/chatui/ChatBoxController.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/client/ui/chatui/ChatBoxController.java @@ -250,6 +250,11 @@ public class ChatBoxController { ChatController.ChatKey key = new ChatController.ChatKey(ChatType.GLOBAL); ChatModel global = chatModelMap.get(key); ChatViewController globalController = chatController.activeChatControllers.get(key); + + for (String user : chatController.getLocalUserList()) { + addWhisperUser(user); + } + for (Message msg : global.messages) { globalController.showMessage(msg); } diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/client/ui/gameui/CasinoGameController.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/client/ui/gameui/CasinoGameController.java index 3a89aef..07d4cd8 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/client/ui/gameui/CasinoGameController.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/client/ui/gameui/CasinoGameController.java @@ -265,7 +265,7 @@ public class CasinoGameController { this.chatUsername = username; this.chatClientService = clientService; this.chatLobbyId = lobbyId; - //startChat(chatController); + initializeChatIfPossible(); } /** @@ -273,13 +273,16 @@ public class CasinoGameController { * is available and the chat has not already been initialized. */ private void initializeChatIfPossible() { - if (chatInitialized || chatClientService == null || chatUsername == null) { + if (chatInitialized + || chatClientService == null + || chatUsername == null + || chatController == null) { return; } try { - String username = chatUsername; - // chatController = new ChatController(username, chatClientService); + chatController.updateUsername(chatUsername); + URL resource = getClass().getResource("/ui-structure/components/chatui/chatbox.fxml"); FXMLLoader loader = new FXMLLoader(resource); loader.setController(chatController.getChatBoxController()); @@ -289,7 +292,13 @@ public class CasinoGameController { AnchorPane.setBottomAnchor(chatNode, 6.0); AnchorPane.setLeftAnchor(chatNode, 0.0); AnchorPane.setRightAnchor(chatNode, 6.0); - // gridManager.setChatController(chatController); + + chatController.getChatBoxController().loadChats(); + chatInitialized = true; + + if (chatLobbyId >= 0) { + chatController.setLobbyChat(chatLobbyId); + } } catch (IOException e) { LOGGER.warning("Could not initialize game chat UI: " + e.getMessage()); }