Package mage.client.chat

Examples of mage.client.chat.ChatPanel


      else if (callback.getMethod().equals("watchGame")) {
        watchGame((UUID) callback.getData());
      }
      else if (callback.getMethod().equals("chatMessage")) {
        ChatMessage message = (ChatMessage) callback.getData();
        ChatPanel panel = session.getChats().get(message.getChatId());
        if (panel != null)
          panel.receiveMessage(message.getMessage(), message.getColor());
      }
      else if (callback.getMethod().equals("replayInit")) {
        session.getGame().init((GameView) callback.getData());
      }
      else if (callback.getMethod().equals("replayDone")) {
View Full Code Here


                            watchGame(callback.getObjectId());
                            break;
                        case "chatMessage":
                            {
                                ChatMessage message = (ChatMessage) callback.getData();
                                ChatPanel panel = MageFrame.getChat(callback.getObjectId());
                                if (panel != null) {
                                    // play the to the message connected sound
                                    if (message.getSoundToPlay() != null) {
                                        switch (message.getSoundToPlay()) {
                                            case PlayerLeft:
                                                AudioManager.playPlayerLeft();
                                                break;
                                            case PlayerQuitTournament:
                                                AudioManager.playPlayerQuitTournament();
                                                break;
                                            case PlayerSubmittedDeck:
                                                AudioManager.playPlayerSubmittedDeck();
                                                break;
                                            case PlayerWhispered:
                                                AudioManager.playPlayerWhispered();
                                                break;
                                        }
                                    }
                                    // send start message to chat if not done yet
                                    if (!panel.isStartMessageDone()) {
                                        createChatStartMessage(panel);
                                    }
                                    // send the message to subchat if exists and it's not a game message
                                    if (!message.getMessageType().equals(MessageType.GAME) && panel.getConnectedChat() != null) {
                                        panel.getConnectedChat().receiveMessage(message.getUsername(), message.getMessage(), message.getTime(), message.getMessageType(), ChatMessage.MessageColor.BLACK);
                                    } else {
                                        panel.receiveMessage(message.getUsername(), message.getMessage(), message.getTime(), message.getMessageType(),  message.getColor());
                                    }
                                   
                                }       break;
                            }
                        case "serverMessage":
                            if (callback.getData() != null) {
                                ChatMessage message = (ChatMessage) callback.getData();
                                if (message.getColor().equals(ChatMessage.MessageColor.RED)) {
                                    JOptionPane.showMessageDialog(null, message.getMessage(), "Server message", JOptionPane.WARNING_MESSAGE);
                                } else {
                                    JOptionPane.showMessageDialog(null, message.getMessage(), "Server message", JOptionPane.INFORMATION_MESSAGE);
                                }
                            }   break;
                        case "joinedTable":
                            {
                                TableClientMessage message = (TableClientMessage) callback.getData();
                                joinedTable(message.getRoomId(), message.getTableId(), message.getFlag());
                                break;
                            }
                        case "replayInit":
                            {
                                GamePanel panel = MageFrame.getGame(callback.getObjectId());
                                if (panel != null) {
                                    panel.init((GameView) callback.getData());
                                }       break;
                            }
                        case "replayDone":
                            {
                                GamePanel panel = MageFrame.getGame(callback.getObjectId());
                                if (panel != null) {
                                    panel.endMessage((String) callback.getData(), callback.getMessageId());
                                }       break;
                            }
                        case "replayUpdate":
                            {
                                GamePanel panel = MageFrame.getGame(callback.getObjectId());
                                if (panel != null) {
                                    panel.updateGame((GameView) callback.getData());
                                }       break;
                            }
                        case "gameInit":
                            {
                                GamePanel panel = MageFrame.getGame(callback.getObjectId());
                                if (panel != null) {
                                    panel.init((GameView) callback.getData());
                                }       break;
                            }
                        case "gameOver":
                            {
                                GamePanel panel = MageFrame.getGame(callback.getObjectId());
                                if (panel != null) {
                                    panel.endMessage((String) callback.getData(), callback.getMessageId());
                                }       break;
                            }
                        case "gameError":
                            frame.showErrorDialog("Game Error", (String) callback.getData());
                            break;
                        case "gameAsk":
                            {
                                GameClientMessage message = (GameClientMessage) callback.getData();
                                GamePanel panel = MageFrame.getGame(callback.getObjectId());
                                if (panel != null) {
                                    panel.ask(message.getMessage(), message.getGameView(), callback.getMessageId());
                                }       break;
                            }
                        case "gameTarget": // e.g. Pick triggered ability
                            {
                                GameClientMessage message = (GameClientMessage) callback.getData();
                                GamePanel panel = MageFrame.getGame(callback.getObjectId());
                                if (panel != null) {
                                    panel.pickTarget(message.getMessage(), message.getCardsView(), message.getGameView(),
                                            message.getTargets(), message.isFlag(), message.getOptions(), callback.getMessageId());
                                }       break;
                            }
                        case "gameSelect":
                            {
                                GameClientMessage message = (GameClientMessage) callback.getData();
                                GamePanel panel = MageFrame.getGame(callback.getObjectId());
                                if (panel != null) {
                                    panel.select(message.getMessage(), message.getGameView(), callback.getMessageId(), message.getOptions());
                                }       break;
                            }
                        case "gameChooseAbility":
                            {
                                GamePanel panel = MageFrame.getGame(callback.getObjectId());
                                if (panel != null) {
                                    panel.pickAbility((AbilityPickerView) callback.getData());
                                }       break;
                            }
                        case "gameChoosePile":
                            {
                                GameClientMessage message = (GameClientMessage) callback.getData();
                                GamePanel panel = MageFrame.getGame(callback.getObjectId());
                                if (panel != null) {
                                    panel.pickPile(message.getMessage(), message.getPile1(), message.getPile2());
                                }       break;
                            }
                        case "gameChooseChoice":
                            {
                                GameClientMessage message = (GameClientMessage) callback.getData();
                                GamePanel panel = MageFrame.getGame(callback.getObjectId());

                                if (panel != null) {
                                    panel.getChoice(message.getChoice(), callback.getObjectId());
                                }       break;
                            }
                        case "gamePlayMana":
                            {
                                GameClientMessage message = (GameClientMessage) callback.getData();
                                GamePanel panel = MageFrame.getGame(callback.getObjectId());
                                if (panel != null) {
                                    panel.playMana(message.getMessage(), message.getGameView(), callback.getMessageId());
                                }       break;
                            }
                        case "gamePlayXMana":
                            {
                                GameClientMessage message = (GameClientMessage) callback.getData();
                                GamePanel panel = MageFrame.getGame(callback.getObjectId());
                                if (panel != null) {
                                    panel.playXMana(message.getMessage(), message.getGameView(), callback.getMessageId());
                                }       break;
                            }
                        case "gameSelectAmount":
                            {
                                GameClientMessage message = (GameClientMessage) callback.getData();
                                GamePanel panel = MageFrame.getGame(callback.getObjectId());
                                if (panel != null) {
                                    panel.getAmount(message.getMin(), message.getMax(), message.getMessage());
                                }       break;
                            }
                        case "gameUpdate":
                            {
                                GamePanel panel = MageFrame.getGame(callback.getObjectId());
                                if (panel != null) {
                                    panel.updateGame((GameView) callback.getData());
                                }       break;
                            }
                        case "endGameInfo":
                            MageFrame.getInstance().showGameEndDialog((GameEndView) callback.getData());
                            break;
                        case "showUserMessage":
                            List<String> messageData = (List<String>) callback.getData();
                            if (messageData.size() == 2) {
                                JOptionPane.showMessageDialog(null, messageData.get(1), messageData.get(0), JOptionPane.WARNING_MESSAGE);
                            }   break;
                        case "gameInform":
                            if (callback.getMessageId() > gameInformMessageId) {
                                {
                                    GameClientMessage message = (GameClientMessage) callback.getData();
                                    GamePanel panel = MageFrame.getGame(callback.getObjectId());
                                    if (panel != null) {
                                        panel.inform(message.getMessage(), message.getGameView(), callback.getMessageId());
                                    }
                                }
// no longer needed because phase skip handling on server side now
                            } else {
                                logger.warn(new StringBuilder("message out of sequence - ignoring").append("MessageId = ").append(callback.getMessageId()).append(" method = ").append(callback.getMethod()));
                                //logger.warn("message out of sequence - ignoring");
                            }
                            gameInformMessageId = messageId;
                            break;
                        case "gameInformPersonal":
                            {
                                GameClientMessage message = (GameClientMessage) callback.getData();
                                GamePanel panel = MageFrame.getGame(callback.getObjectId());
                                if (panel != null) {
                                    JOptionPane.showMessageDialog(panel, message.getMessage(), "Game message",
                                            JOptionPane.INFORMATION_MESSAGE);
                                }       break;
                            }
                        case "sideboard":
                            {
                                TableClientMessage message = (TableClientMessage) callback.getData();
                                DeckView deckView = message.getDeck();
                                Deck deck = DeckUtil.construct(deckView);
                                if (message.getFlag()) {
                                    construct(deck, message.getTableId(), message.getTime());
                                } else {
                                    sideboard(deck, message.getTableId(), message.getTime());
                                }       break;
                            }
                        case "construct":
                            {
                                TableClientMessage message = (TableClientMessage) callback.getData();
                                DeckView deckView = message.getDeck();
                                Deck deck = DeckUtil.construct(deckView);
                                construct(deck, message.getTableId(), message.getTime());
                                break;
                            }
                        case "draftOver":
                            MageFrame.removeDraft(callback.getObjectId());
                            break;
                        case "draftPick":
                            {
                                DraftClientMessage message = (DraftClientMessage) callback.getData();
                                DraftPanel panel = MageFrame.getDraft(callback.getObjectId());
                                if (panel != null) {
                                    panel.loadBooster(message.getDraftPickView());
                                }       break;
                            }
                        case "draftUpdate":
                            {
                                DraftPanel panel = MageFrame.getDraft(callback.getObjectId());
                                if (panel != null) {
                                    panel.updateDraft((DraftView) callback.getData());
                                }
                                break;
                            }
                        case "draftInform":
//                            if (callback.getMessageId() > messageId) {
                            {
                                DraftClientMessage message = (DraftClientMessage) callback.getData();
                            }
//                            } else {
//                                logger.warn("message out of sequence - ignoring");
//                            }
//                            break;
                        case "draftInit":
                            {
                                DraftClientMessage message = (DraftClientMessage) callback.getData();
                                DraftPanel panel = MageFrame.getDraft(callback.getObjectId());
                                if (panel != null) {
                                    panel.loadBooster(message.getDraftPickView());
                                }       break;
                            }
                        case "tournamentInit":
                            break;
                    }
View Full Code Here

        });
    }

    private void createChatStartMessage(ChatPanel chatPanel) {
        chatPanel.setStartMessageDone(true);
        ChatPanel usedPanel = chatPanel;
        if (chatPanel.getConnectedChat() != null) {
            usedPanel = chatPanel.getConnectedChat();
        }
        switch (usedPanel.getChatType()) {
            case GAME:
                usedPanel.receiveMessage("", new StringBuilder("You may use hot keys to play faster:")
                        .append("<br/>Turn mousewheel up (ALT-e) - enlarge image of card the mousepointer hovers over")
                        .append("<br/>Turn mousewheel down (ALT-s) - enlarge original/alternate image of card the mousepointer hovers over")
                        .append("<br/><b>F2</b> - Confirm \"Ok\", \"Yes\" or \"Done\" button")
                        .append("<br/><b>F4</b> - Skip current turn but stop on declare attackers/blockers and something on the stack")
                        .append("<br/><b>F5</b> - Skip to next end step but stop on declare attackers/blockers and something on the stack")
                        .append("<br/><b>F7</b> - Skip to next main phase but stop on declare attackers/blockers and something on the stack")
                        .append("<br/><b>F9</b> - Skip everything until your next turn")
                        .append("<br/><b>F3</b> - Undo F4/F5/F7/F9").toString(),
                        null, MessageType.USER_INFO, ChatMessage.MessageColor.BLUE);
                break;
            case TOURNAMENT:
                usedPanel.receiveMessage("", new StringBuilder("On this panel you can see the players, their state and the results of the games of the tournament. Also you can chat with the competitors of the tournament.").toString(),
                        null,  MessageType.USER_INFO, ChatMessage.MessageColor.BLUE);
                break;
            case TABLES:
                usedPanel.receiveMessage("", new StringBuilder("Download card images by using the \"Images\" menu to the top right .")
                        .append("<br/>Download icons and symbols by using the \"Symbols\" menu to the top right.")
                        .append("<br/>\\list - Show a list of available chat commands.").toString(),
                        null, MessageType.USER_INFO, ChatMessage.MessageColor.BLUE);
                break;
View Full Code Here

TOP

Related Classes of mage.client.chat.ChatPanel

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.