package fr.lyrgard.hexScape.listener; import com.google.common.eventbus.Subscribe; import fr.lyrgard.hexScape.bus.CoreMessageBus; import fr.lyrgard.hexScape.bus.GuiMessageBus; import fr.lyrgard.hexScape.message.GameMessagePostedMessage; import fr.lyrgard.hexScape.message.PostGameMessageMessage; import fr.lyrgard.hexScape.message.RoomMessagePostedMessage; import fr.lyrgard.hexScape.message.PostRoomMessageMessage; import fr.lyrgard.hexScape.model.CurrentUserInfo; public class ChatMessageListener extends AbstractMessageListener { private static ChatMessageListener instance; public static void start() { if (instance == null) { instance = new ChatMessageListener(); CoreMessageBus.register(instance); } } private ChatMessageListener() { } @Subscribe public void onPostMessageMessage(PostRoomMessageMessage message) { // Just bounce back the message String userId = message.getUserId(); String roomId = message.getRoomId(); String messageContent = message.getMessage(); sendMessage(new RoomMessagePostedMessage(userId, messageContent, roomId)); } @Subscribe public void onMessagePosted(RoomMessagePostedMessage message) { GuiMessageBus.post(message); } @Subscribe public void onPostMessageMessage(PostGameMessageMessage message) { // Just bounce back the message String messageContent = message.getMessage(); sendMessage(new GameMessagePostedMessage(CurrentUserInfo.getInstance().getId(), messageContent)); } @Subscribe public void onMessagePosted(GameMessagePostedMessage message) { GuiMessageBus.post(message); } }