diff --git a/Mage.Client/src/main/java/mage/client/game/GamePanel.java b/Mage.Client/src/main/java/mage/client/game/GamePanel.java index 5d548e85acd..22f47f766e1 100644 --- a/Mage.Client/src/main/java/mage/client/game/GamePanel.java +++ b/Mage.Client/src/main/java/mage/client/game/GamePanel.java @@ -560,29 +560,29 @@ public final class GamePanel extends javax.swing.JPanel { } } - public void ask(String question, GameView gameView) { + public void ask(String question, GameView gameView, int messageId) { updateGame(gameView); - this.feedbackPanel.getFeedback(FeedbackMode.QUESTION, question, false, null); + this.feedbackPanel.getFeedback(FeedbackMode.QUESTION, question, false, null, messageId); } - public void pickTarget(String message, CardsView cardView, GameView gameView, Set targets, boolean required, Map options) { + public void pickTarget(String message, CardsView cardView, GameView gameView, Set targets, boolean required, Map options, int messageId) { updateGame(gameView); Map options0 = options == null ? new HashMap() : options; if (cardView != null && cardView.size() > 0) { ShowCardsDialog dialog = showCards(message, cardView, required, options0); options0.put("dialog", dialog); } - this.feedbackPanel.getFeedback(required?FeedbackMode.INFORM:FeedbackMode.CANCEL, message, gameView.getSpecial(), options0); + this.feedbackPanel.getFeedback(required?FeedbackMode.INFORM:FeedbackMode.CANCEL, message, gameView.getSpecial(), options0, messageId); } - public void inform(String information, GameView gameView) { + public void inform(String information, GameView gameView, int messageId) { updateGame(gameView); - this.feedbackPanel.getFeedback(FeedbackMode.INFORM, information, gameView.getSpecial(), null); + this.feedbackPanel.getFeedback(FeedbackMode.INFORM, information, gameView.getSpecial(), null, messageId); } - public void endMessage(String message) { - this.feedbackPanel.getFeedback(FeedbackMode.END, message, false, null); + public void endMessage(String message, int messageId) { + this.feedbackPanel.getFeedback(FeedbackMode.END, message, false, null, messageId); ArrowBuilder.getBuilder().removeAllArrows(gameId); } @@ -590,7 +590,7 @@ public final class GamePanel extends javax.swing.JPanel { return JOptionPane.showConfirmDialog(this, message, title, JOptionPane.YES_NO_OPTION); } - public void select(String message, GameView gameView) { + public void select(String message, GameView gameView, int messageId) { updateGame(gameView); String messageToDisplay = message; Map options = null; @@ -609,22 +609,22 @@ public final class GamePanel extends javax.swing.JPanel { break; } } - this.feedbackPanel.getFeedback(FeedbackMode.SELECT, messageToDisplay, gameView.getSpecial(), options); + this.feedbackPanel.getFeedback(FeedbackMode.SELECT, messageToDisplay, gameView.getSpecial(), options, messageId); if (PhaseManager.getInstance().isSkip(gameView, message)) { this.feedbackPanel.doClick(); } } - public void playMana(String message, GameView gameView) { + public void playMana(String message, GameView gameView, int messageId) { updateGame(gameView); DialogManager.getManager(gameId).fadeOut(); - this.feedbackPanel.getFeedback(FeedbackMode.CANCEL, message, gameView.getSpecial(), null); + this.feedbackPanel.getFeedback(FeedbackMode.CANCEL, message, gameView.getSpecial(), null, messageId); } - public void playXMana(String message, GameView gameView) { + public void playXMana(String message, GameView gameView, int messageId) { updateGame(gameView); DialogManager.getManager(gameId).fadeOut(); - this.feedbackPanel.getFeedback(FeedbackMode.CONFIRM, message, gameView.getSpecial(), null); + this.feedbackPanel.getFeedback(FeedbackMode.CONFIRM, message, gameView.getSpecial(), null, messageId); } public void replayMessage(String message) { diff --git a/Mage.Client/src/main/java/mage/client/remote/CallbackClientImpl.java b/Mage.Client/src/main/java/mage/client/remote/CallbackClientImpl.java index 922b388a96a..e96569dd153 100644 --- a/Mage.Client/src/main/java/mage/client/remote/CallbackClientImpl.java +++ b/Mage.Client/src/main/java/mage/client/remote/CallbackClientImpl.java @@ -159,7 +159,7 @@ public class CallbackClientImpl implements CallbackClient { else if (callback.getMethod().equals("replayDone")) { GamePanel panel = MageFrame.getGame(callback.getObjectId()); if (panel != null) { - panel.endMessage((String) callback.getData()); + panel.endMessage((String) callback.getData(), callback.getMessageId()); } } else if (callback.getMethod().equals("replayUpdate")) { @@ -177,7 +177,7 @@ public class CallbackClientImpl implements CallbackClient { else if (callback.getMethod().equals("gameOver")) { GamePanel panel = MageFrame.getGame(callback.getObjectId()); if (panel != null) { - panel.endMessage((String) callback.getData()); + panel.endMessage((String) callback.getData(), callback.getMessageId()); } } else if (callback.getMethod().equals("gameError")) { @@ -187,21 +187,22 @@ public class CallbackClientImpl implements CallbackClient { GameClientMessage message = (GameClientMessage) callback.getData(); GamePanel panel = MageFrame.getGame(callback.getObjectId()); if (panel != null) { - panel.ask(message.getMessage(), message.getGameView()); + panel.ask(message.getMessage(), message.getGameView(), callback.getMessageId()); } } else if (callback.getMethod().equals("gameTarget")) { 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()); + panel.pickTarget(message.getMessage(), message.getCardsView(), message.getGameView(), + message.getTargets(), message.isFlag(), message.getOptions(), callback.getMessageId()); } } else if (callback.getMethod().equals("gameSelect")) { GameClientMessage message = (GameClientMessage) callback.getData(); GamePanel panel = MageFrame.getGame(callback.getObjectId()); if (panel != null) { - panel.select(message.getMessage(), message.getGameView()); + panel.select(message.getMessage(), message.getGameView(), callback.getMessageId()); } } else if (callback.getMethod().equals("gameChooseAbility")) { @@ -228,14 +229,14 @@ public class CallbackClientImpl implements CallbackClient { GameClientMessage message = (GameClientMessage) callback.getData(); GamePanel panel = MageFrame.getGame(callback.getObjectId()); if (panel != null) { - panel.playMana(message.getMessage(), message.getGameView()); + panel.playMana(message.getMessage(), message.getGameView(), callback.getMessageId()); } } else if (callback.getMethod().equals("gamePlayXMana")) { GameClientMessage message = (GameClientMessage) callback.getData(); GamePanel panel = MageFrame.getGame(callback.getObjectId()); if (panel != null) { - panel.playXMana(message.getMessage(), message.getGameView()); + panel.playXMana(message.getMessage(), message.getGameView(), callback.getMessageId()); } } else if (callback.getMethod().equals("gameSelectAmount")) { @@ -266,7 +267,7 @@ public class CallbackClientImpl implements CallbackClient { GameClientMessage message = (GameClientMessage) callback.getData(); GamePanel panel = MageFrame.getGame(callback.getObjectId()); if (panel != null) { - panel.inform(message.getMessage(), message.getGameView()); + panel.inform(message.getMessage(), message.getGameView(), callback.getMessageId()); } } else {