Added options to gameclient target message.

This commit is contained in:
magenoxx 2011-01-27 18:27:41 +03:00
parent 23c5bf9db0
commit a1b2127962
16 changed files with 96 additions and 44 deletions

View file

@ -623,6 +623,7 @@ public class MageFrame extends javax.swing.JFrame {
private void btnGamesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnGamesActionPerformed
this.tablesPane.setVisible(true);
this.tablesPane.toFront();
this.tablesPane.showTables();
}//GEN-LAST:event_btnGamesActionPerformed

View file

@ -41,6 +41,8 @@ import java.awt.EventQueue;
import java.awt.MenuComponent;
import java.awt.event.ActionEvent;
import java.awt.event.MouseEvent;
import java.io.Serializable;
import java.util.Map;
import java.util.UUID;
import java.util.logging.Logger;
import javax.swing.SwingUtilities;
@ -76,7 +78,7 @@ public class FeedbackPanel extends javax.swing.JPanel {
session = MageFrame.getSession();
}
public void getFeedback(FeedbackMode mode, String message, boolean modal, boolean special) {
public void getFeedback(FeedbackMode mode, String message, boolean modal, boolean special, Map<String, Serializable> options) {
this.lblMessage.setText(message);
this.selected = false;
this.mode = mode;
@ -115,6 +117,14 @@ public class FeedbackPanel extends javax.swing.JPanel {
startModal();
}
private void handleOptions(Map<String, Serializable> options) {
if (options != null) {
if (options.containsKey("UI.right.btn.text")) {
this.btnRight.setText((String)options.get("UI.right.btn.text"));
}
}
}
public void doClick() {
this.btnRight.doClick();
}

View file

@ -37,6 +37,7 @@ package mage.client.game;
import java.awt.*;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
@ -356,12 +357,12 @@ public class GamePanel extends javax.swing.JPanel {
public void ask(String question, GameView gameView) {
updateGame(gameView);
this.feedbackPanel.getFeedback(FeedbackMode.QUESTION, question, true, false);
this.feedbackPanel.getFeedback(FeedbackMode.QUESTION, question, true, false, null);
}
public void pickTarget(String message, CardsView cardView, GameView gameView, Set<UUID> targets, boolean required) {
public void pickTarget(String message, CardsView cardView, GameView gameView, Set<UUID> targets, boolean required, Map<String, Serializable> options) {
updateGame(gameView);
this.feedbackPanel.getFeedback(required?FeedbackMode.INFORM:FeedbackMode.CANCEL, message, false, gameView.getSpecial());
this.feedbackPanel.getFeedback(required?FeedbackMode.INFORM:FeedbackMode.CANCEL, message, false, gameView.getSpecial(), options);
if (cardView != null && cardView.size() > 0) {
showCards(message, cardView, required);
}
@ -369,7 +370,7 @@ public class GamePanel extends javax.swing.JPanel {
public void inform(String information, GameView gameView) {
updateGame(gameView);
this.feedbackPanel.getFeedback(FeedbackMode.INFORM, information, false, gameView.getSpecial());
this.feedbackPanel.getFeedback(FeedbackMode.INFORM, information, false, gameView.getSpecial(), null);
}
public void modalMessage(String message) {
@ -386,7 +387,7 @@ public class GamePanel extends javax.swing.JPanel {
public void select(String message, GameView gameView) {
updateGame(gameView);
this.feedbackPanel.getFeedback(FeedbackMode.SELECT, message, false, gameView.getSpecial());
this.feedbackPanel.getFeedback(FeedbackMode.SELECT, message, false, gameView.getSpecial(), null);
if (PhaseManager.getInstance().isSkip(gameView, message)) {
this.feedbackPanel.doClick();
}
@ -394,12 +395,12 @@ public class GamePanel extends javax.swing.JPanel {
public void playMana(String message, GameView gameView) {
updateGame(gameView);
this.feedbackPanel.getFeedback(FeedbackMode.CANCEL, message, false, gameView.getSpecial());
this.feedbackPanel.getFeedback(FeedbackMode.CANCEL, message, false, gameView.getSpecial(), null);
}
public void playXMana(String message, GameView gameView) {
updateGame(gameView);
this.feedbackPanel.getFeedback(FeedbackMode.CONFIRM, message, false, gameView.getSpecial());
this.feedbackPanel.getFeedback(FeedbackMode.CONFIRM, message, false, gameView.getSpecial(), null);
}
public void replayMessage(String message) {

View file

@ -122,7 +122,7 @@ public class Client implements CallbackClient {
}
else if (callback.getMethod().equals("gameTarget")) {
GameClientMessage message = (GameClientMessage) callback.getData();
session.getGame().pickTarget(message.getMessage(), message.getCardsView(), message.getGameView(), message.getTargets(), message.isFlag());
session.getGame().pickTarget(message.getMessage(), message.getCardsView(), message.getGameView(), message.getTargets(), message.isFlag(), message.getOptions());
}
else if (callback.getMethod().equals("gameSelect")) {
GameClientMessage message = (GameClientMessage) callback.getData();

View file

@ -75,6 +75,7 @@ public class TablesPane extends MagePane {
tablesPanel.showTables(roomId);
this.repaint();
}
}
public void hideTables() {