mirror of
https://github.com/magefree/mage.git
synced 2025-12-24 04:22:01 -08:00
added a bunch of game methods
This commit is contained in:
parent
58e85df735
commit
55fea43f20
32 changed files with 1105 additions and 200 deletions
|
|
@ -84,10 +84,12 @@ import java.awt.image.BufferedImage;
|
|||
import java.beans.PropertyVetoException;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.ScheduledExecutorService;
|
||||
|
|
@ -98,8 +100,12 @@ import mage.cards.repository.ExpansionInfo;
|
|||
import mage.cards.repository.ExpansionRepository;
|
||||
import mage.client.util.GameManager;
|
||||
import mage.client.util.audio.AudioManager;
|
||||
import mage.game.Table;
|
||||
import mage.interfaces.ServerState;
|
||||
import mage.view.AbilityPickerView;
|
||||
import mage.view.CardsView;
|
||||
import mage.view.ChatMessage;
|
||||
import mage.view.GameView;
|
||||
import mage.view.UserRequestMessage;
|
||||
import net.java.truevfs.access.TArchiveDetector;
|
||||
import net.java.truevfs.access.TConfig;
|
||||
|
|
@ -1492,6 +1498,96 @@ public class MageFrame extends javax.swing.JFrame implements MageClient {
|
|||
Plugins.getInstance().addGamesPlayed();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initGame(UUID gameId, GameView gameView) {
|
||||
GamePanel panel = MageFrame.getGame(gameId);
|
||||
if (panel != null) {
|
||||
panel.init(gameView);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameAsk(UUID gameId, GameView gameView, String question) {
|
||||
GamePanel panel = MageFrame.getGame(gameId);
|
||||
if (panel != null) {
|
||||
panel.ask(question, gameView);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameTarget(UUID gameId, GameView gameView, String question, CardsView cardView, Set<UUID> targets, boolean required, Map<String, Serializable> options) {
|
||||
GamePanel panel = MageFrame.getGame(gameId);
|
||||
if (panel != null) {
|
||||
panel.pickTarget(question, cardView, gameView, targets, required, options);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameChooseAbility(UUID gameId, AbilityPickerView abilities) {
|
||||
GamePanel panel = MageFrame.getGame(gameId);
|
||||
if (panel != null) {
|
||||
panel.pickAbility(abilities);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameChoosePile(UUID gameId, String message, CardsView pile1, CardsView pile2) {
|
||||
GamePanel panel = MageFrame.getGame(gameId);
|
||||
if (panel != null) {
|
||||
panel.pickPile(message, pile1, pile2);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameChooseChoice(UUID gameId, mage.choices.Choice choice) {
|
||||
GamePanel panel = MageFrame.getGame(gameId);
|
||||
if (panel != null) {
|
||||
panel.getChoice(choice);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gamePlayMana(UUID gameId, GameView gameView, String message) {
|
||||
GamePanel panel = MageFrame.getGame(gameId);
|
||||
if (panel != null) {
|
||||
panel.playMana(message, gameView);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gamePlayXMana(UUID gameId, GameView gameView, String message) {
|
||||
GamePanel panel = MageFrame.getGame(gameId);
|
||||
if (panel != null) {
|
||||
panel.playXMana(message, gameView);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameSelectAmount(UUID gameId, String message, int min, int max) {
|
||||
GamePanel panel = MageFrame.getGame(gameId);
|
||||
if (panel != null) {
|
||||
panel.getAmount(min, max, message);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameSelect(UUID gameId, GameView gameView, String message, Map<String, Serializable> options) {
|
||||
GamePanel panel = MageFrame.getGame(gameId);
|
||||
if (panel != null) {
|
||||
panel.select(message, gameView, options);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameEndInfo(UUID gameId, GameEndView view) {
|
||||
showGameEndDialog(view);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void userRequestDialog(UUID gameId, UserRequestMessage userRequestMessage) {
|
||||
showUserRequestDialog(userRequestMessage);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ public class PickChoiceDialog extends MageDialog {
|
|||
Choice choice;
|
||||
boolean autoSelect;
|
||||
|
||||
public void showDialog(Choice choice, UUID objectId, MageDialogState mageDialogState) {
|
||||
public void showDialog(Choice choice, MageDialogState mageDialogState) {
|
||||
this.lblMessage.setText("<html>" + choice.getMessage());
|
||||
this.choice = choice;
|
||||
this.autoSelect = false;
|
||||
|
|
|
|||
|
|
@ -85,14 +85,14 @@ public class FeedbackPanel extends javax.swing.JPanel {
|
|||
client = MageFrame.getClient();
|
||||
}
|
||||
|
||||
public void getFeedback(FeedbackMode mode, String message, boolean special, Map<String, Serializable> options, int messageId) {
|
||||
synchronized (this) {
|
||||
if (messageId < this.lastMessageId) {
|
||||
logger.warn("ignoring message from later source: " + messageId + ", text=" + message);
|
||||
return;
|
||||
}
|
||||
this.lastMessageId = messageId;
|
||||
}
|
||||
public void getFeedback(FeedbackMode mode, String message, boolean special, Map<String, Serializable> options) {
|
||||
// synchronized (this) {
|
||||
// if (messageId < this.lastMessageId) {
|
||||
// logger.warn("ignoring message from later source: " + messageId + ", text=" + message);
|
||||
// return;
|
||||
// }
|
||||
// this.lastMessageId = messageId;
|
||||
// }
|
||||
|
||||
this.lblMessage.setText(message);
|
||||
this.helper.setMessage(message);
|
||||
|
|
|
|||
|
|
@ -834,9 +834,9 @@ public final class GamePanel extends javax.swing.JPanel {
|
|||
}
|
||||
}
|
||||
|
||||
public void ask(String question, GameView gameView, int messageId) {
|
||||
public void ask(String question, GameView gameView) {
|
||||
updateGame(gameView);
|
||||
this.feedbackPanel.getFeedback(FeedbackMode.QUESTION, question, false, null, messageId);
|
||||
this.feedbackPanel.getFeedback(FeedbackMode.QUESTION, question, false, null);
|
||||
}
|
||||
/**
|
||||
* Shows a pick target dialog and allows the player to pick a target (e.g. the pick triggered ability)
|
||||
|
|
@ -847,9 +847,8 @@ public final class GamePanel extends javax.swing.JPanel {
|
|||
* @param targets
|
||||
* @param required
|
||||
* @param options
|
||||
* @param messageId
|
||||
*/
|
||||
public void pickTarget(String message, CardsView cardView, GameView gameView, Set<UUID> targets, boolean required, Map<String, Serializable> options, int messageId) {
|
||||
public void pickTarget(String message, CardsView cardView, GameView gameView, Set<UUID> targets, boolean required, Map<String, Serializable> options) {
|
||||
ShowCardsDialog dialog = null;
|
||||
if (options != null && options.containsKey("targetZone")) {
|
||||
if (Zone.HAND.equals(options.get("targetZone"))) { // mark selectable target cards in hand
|
||||
|
|
@ -877,19 +876,19 @@ public final class GamePanel extends javax.swing.JPanel {
|
|||
dialog = showCards(message, cardView, required, options0);
|
||||
options0.put("dialog", dialog);
|
||||
}
|
||||
this.feedbackPanel.getFeedback(required?FeedbackMode.INFORM:FeedbackMode.CANCEL, message, gameView.getSpecial(), options0, messageId);
|
||||
this.feedbackPanel.getFeedback(required?FeedbackMode.INFORM:FeedbackMode.CANCEL, message, gameView.getSpecial(), options0);
|
||||
if (dialog != null) {
|
||||
this.pickTarget.add(dialog);
|
||||
}
|
||||
}
|
||||
|
||||
public void inform(String information, GameView gameView, int messageId) {
|
||||
public void inform(String information, GameView gameView) {
|
||||
updateGame(gameView);
|
||||
this.feedbackPanel.getFeedback(FeedbackMode.INFORM, information, gameView.getSpecial(), null, messageId);
|
||||
this.feedbackPanel.getFeedback(FeedbackMode.INFORM, information, gameView.getSpecial(), null);
|
||||
}
|
||||
|
||||
public void endMessage(String message, int messageId) {
|
||||
this.feedbackPanel.getFeedback(FeedbackMode.END, message, false, null, messageId);
|
||||
public void endMessage(String message) {
|
||||
this.feedbackPanel.getFeedback(FeedbackMode.END, message, false, null);
|
||||
ArrowBuilder.getBuilder().removeAllArrows(gameId);
|
||||
}
|
||||
|
||||
|
|
@ -897,7 +896,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, int messageId, Map<String, Serializable> options) {
|
||||
public void select(String message, GameView gameView, Map<String, Serializable> options) {
|
||||
updateGame(gameView, options);
|
||||
boolean controllingPlayer = false;
|
||||
for (PlayerView playerView : gameView.getPlayers()) {
|
||||
|
|
@ -926,19 +925,19 @@ public final class GamePanel extends javax.swing.JPanel {
|
|||
}
|
||||
String messageToDisplay = message + "<div style='font-size:11pt'>" + activePlayerText +" / " + gameView.getStep().toString() + priorityPlayerText + "</div>";
|
||||
|
||||
this.feedbackPanel.getFeedback(FeedbackMode.SELECT, messageToDisplay, gameView.getSpecial(), panelOptions, messageId);
|
||||
this.feedbackPanel.getFeedback(FeedbackMode.SELECT, messageToDisplay, gameView.getSpecial(), panelOptions);
|
||||
}
|
||||
|
||||
public void playMana(String message, GameView gameView, int messageId) {
|
||||
public void playMana(String message, GameView gameView) {
|
||||
updateGame(gameView);
|
||||
DialogManager.getManager(gameId).fadeOut();
|
||||
this.feedbackPanel.getFeedback(FeedbackMode.CANCEL, message, gameView.getSpecial(), null, messageId);
|
||||
this.feedbackPanel.getFeedback(FeedbackMode.CANCEL, message, gameView.getSpecial(), null);
|
||||
}
|
||||
|
||||
public void playXMana(String message, GameView gameView, int messageId) {
|
||||
public void playXMana(String message, GameView gameView) {
|
||||
updateGame(gameView);
|
||||
DialogManager.getManager(gameId).fadeOut();
|
||||
this.feedbackPanel.getFeedback(FeedbackMode.CONFIRM, message, gameView.getSpecial(), null, messageId);
|
||||
this.feedbackPanel.getFeedback(FeedbackMode.CONFIRM, message, gameView.getSpecial(), null);
|
||||
}
|
||||
|
||||
public void replayMessage(String message) {
|
||||
|
|
@ -973,10 +972,10 @@ public final class GamePanel extends javax.swing.JPanel {
|
|||
}
|
||||
}
|
||||
|
||||
public void getChoice(Choice choice, UUID objectId) {
|
||||
public void getChoice(Choice choice) {
|
||||
hideAll();
|
||||
PickChoiceDialog pickChoice = new PickChoiceDialog();
|
||||
pickChoice.showDialog(choice, objectId,choiceWindowState);
|
||||
pickChoice.showDialog(choice, choiceWindowState);
|
||||
if (choice.isKeyChoice()) {
|
||||
if (pickChoice.isAutoSelect()) {
|
||||
client.sendPlayerString(gameId, "#" + choice.getChoiceKey());
|
||||
|
|
|
|||
|
|
@ -89,13 +89,13 @@ public class CallbackClientImpl implements CallbackClient {
|
|||
try {
|
||||
logger.debug(callback.getMessageId() + " -- " + callback.getMethod());
|
||||
switch (callback.getMethod()) {
|
||||
case "startGame":
|
||||
{
|
||||
// case "startGame":
|
||||
// {
|
||||
// TableClientMessage message = (TableClientMessage) callback.getData();
|
||||
// GameManager.getInstance().setCurrentPlayerUUID(message.getPlayerId());
|
||||
// gameStarted(message.getGameId(), message.getPlayerId());
|
||||
// break;
|
||||
}
|
||||
// }
|
||||
case "startTournament":
|
||||
{
|
||||
TableClientMessage message = (TableClientMessage) callback.getData();
|
||||
|
|
@ -117,8 +117,8 @@ public class CallbackClientImpl implements CallbackClient {
|
|||
case "watchGame":
|
||||
watchGame(callback.getObjectId());
|
||||
break;
|
||||
case "chatMessage":
|
||||
{
|
||||
// case "chatMessage":
|
||||
// {
|
||||
// ChatMessage message = (ChatMessage) callback.getData();
|
||||
// ChatPanel panel = MageFrame.getChat(callback.getObjectId());
|
||||
// if (panel != null) {
|
||||
|
|
@ -151,7 +151,7 @@ public class CallbackClientImpl implements CallbackClient {
|
|||
// }
|
||||
//
|
||||
// } break;
|
||||
}
|
||||
// }
|
||||
case "serverMessage":
|
||||
if (callback.getData() != null) {
|
||||
ChatMessage message = (ChatMessage) callback.getData();
|
||||
|
|
@ -178,7 +178,7 @@ public class CallbackClientImpl implements CallbackClient {
|
|||
{
|
||||
GamePanel panel = MageFrame.getGame(callback.getObjectId());
|
||||
if (panel != null) {
|
||||
panel.endMessage((String) callback.getData(), callback.getMessageId());
|
||||
panel.endMessage((String) callback.getData());
|
||||
} break;
|
||||
}
|
||||
case "replayUpdate":
|
||||
|
|
@ -188,99 +188,99 @@ public class CallbackClientImpl implements CallbackClient {
|
|||
panel.updateGame((GameView) callback.getData());
|
||||
} break;
|
||||
}
|
||||
case "gameInit":
|
||||
{
|
||||
GamePanel panel = MageFrame.getGame(callback.getObjectId());
|
||||
if (panel != null) {
|
||||
panel.init((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());
|
||||
panel.endMessage((String) callback.getData());
|
||||
} 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 "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());
|
||||
|
|
@ -288,9 +288,9 @@ public class CallbackClientImpl implements CallbackClient {
|
|||
panel.updateGame((GameView) callback.getData());
|
||||
} break;
|
||||
}
|
||||
case "endGameInfo":
|
||||
MageFrame.getInstance().showGameEndDialog((GameEndView) 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) {
|
||||
|
|
@ -302,7 +302,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(), callback.getMessageId());
|
||||
panel.inform(message.getMessage(), message.getGameView());
|
||||
}
|
||||
}
|
||||
// no longer needed because phase skip handling on server side now
|
||||
|
|
|
|||
|
|
@ -1,5 +1,8 @@
|
|||
package mage.client.game;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import mage.client.components.MageUI;
|
||||
//import mage.interfaces.MageClient;
|
||||
|
|
@ -13,8 +16,15 @@ import org.junit.Ignore;
|
|||
|
||||
import javax.swing.*;
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
import mage.choices.Choice;
|
||||
import mage.game.Table;
|
||||
import mage.interfaces.ServerState;
|
||||
import mage.view.AbilityPickerView;
|
||||
import mage.view.CardsView;
|
||||
import mage.view.ChatMessage;
|
||||
import mage.view.GameEndView;
|
||||
import mage.view.GameView;
|
||||
import mage.view.UserRequestMessage;
|
||||
import org.mage.network.Client;
|
||||
import org.mage.network.interfaces.MageClient;
|
||||
import org.mage.network.model.MessageType;
|
||||
|
|
@ -133,6 +143,66 @@ public class MultiConnectTest {
|
|||
public void gameStarted(UUID gameId, UUID playerId) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initGame(UUID gameId, GameView gameView) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameAsk(UUID gameId, GameView gameView, String question) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameTarget(UUID gameId, GameView gameView, String question, CardsView cardView, Set<UUID> targets, boolean required, Map<String, Serializable> options) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameChooseAbility(UUID gameId, AbilityPickerView abilities) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameChoosePile(UUID gameId, String message, CardsView pile1, CardsView pile2) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameChooseChoice(UUID gameId, Choice choice) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gamePlayMana(UUID gameId, GameView gameView, String message) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gamePlayXMana(UUID gameId, GameView gameView, String message) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameSelectAmount(UUID gameId, String message, int min, int max) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameSelect(UUID gameId, GameView gameView, String message, Map<String, Serializable> options) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameEndInfo(UUID gameId, GameEndView view) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void userRequestDialog(UUID gameId, UserRequestMessage userRequestMessage) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] argv) throws Exception {
|
||||
|
|
|
|||
|
|
@ -167,11 +167,23 @@ public class Client {
|
|||
}
|
||||
|
||||
public void sendPlayerUUID(UUID gameId, UUID id) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
clientMessageHandler.sendPlayerUUID(gameId, id);
|
||||
}
|
||||
|
||||
public void sendPlayerBoolean(UUID gameId, boolean b) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
clientMessageHandler.sendPlayerBoolean(gameId, b);
|
||||
}
|
||||
|
||||
public void sendPlayerInteger(UUID gameId, int i) {
|
||||
clientMessageHandler.sendPlayerInteger(gameId, i);
|
||||
}
|
||||
|
||||
public void sendPlayerString(UUID gameId, String string) {
|
||||
clientMessageHandler.sendPlayerString(gameId, string);
|
||||
}
|
||||
|
||||
public void sendPlayerManaType(UUID gameId, UUID playerId, ManaType manaType) {
|
||||
clientMessageHandler.sendPlayerManaType(gameId, playerId, manaType);
|
||||
}
|
||||
|
||||
public String getUserName() {
|
||||
|
|
@ -346,18 +358,6 @@ public class Client {
|
|||
// throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
// }
|
||||
|
||||
public void sendPlayerInteger(UUID gameId, int i) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
public void sendPlayerString(UUID gameId, String special) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
public void sendPlayerManaType(UUID gameId, UUID playerId, ManaType manaType) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
public void cheat(UUID gameId, UUID playerId, DeckCardLists importDeck) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,14 @@
|
|||
package org.mage.network;
|
||||
|
||||
import org.mage.network.model.UserRequestDialogMessage;
|
||||
import org.mage.network.model.GameEndInfoMessage;
|
||||
import org.mage.network.model.GameSelectAmountMessage;
|
||||
import org.mage.network.model.GamePlayXManaMessage;
|
||||
import org.mage.network.model.GamePlayManaMessage;
|
||||
import org.mage.network.model.GameChooseChoiceMessage;
|
||||
import org.mage.network.model.GameChoosePileMessage;
|
||||
import org.mage.network.model.GameChooseAbilityMessage;
|
||||
import org.mage.network.model.GameSelectMessage;
|
||||
import io.netty.bootstrap.ServerBootstrap;
|
||||
import io.netty.channel.Channel;
|
||||
import io.netty.channel.ChannelInitializer;
|
||||
|
|
@ -20,8 +29,18 @@ import io.netty.handler.timeout.IdleStateHandler;
|
|||
import io.netty.util.concurrent.DefaultEventExecutorGroup;
|
||||
import io.netty.util.concurrent.EventExecutorGroup;
|
||||
import io.netty.util.concurrent.GlobalEventExecutor;
|
||||
import java.io.Serializable;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import mage.choices.Choice;
|
||||
import mage.game.Table;
|
||||
import mage.view.AbilityPickerView;
|
||||
import mage.view.CardsView;
|
||||
import mage.view.ChatMessage;
|
||||
import mage.view.GameEndView;
|
||||
import mage.view.GameView;
|
||||
import mage.view.UserRequestMessage;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.mage.network.handlers.ExceptionHandler;
|
||||
import org.mage.network.handlers.MessageHandler;
|
||||
|
|
@ -36,7 +55,10 @@ import org.mage.network.handlers.server.ServerRequestHandler;
|
|||
//import org.mage.network.handlers.server.TableMessageHandler;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.model.ChatMessageMessage;
|
||||
import org.mage.network.model.GameAskMessage;
|
||||
import org.mage.network.model.GameInitMessage;
|
||||
import org.mage.network.model.GameStartedMessage;
|
||||
import org.mage.network.model.GameTargetMessage;
|
||||
import org.mage.network.model.InformClientMessage;
|
||||
import org.mage.network.model.JoinedTableMessage;
|
||||
import org.mage.network.model.MessageType;
|
||||
|
|
@ -186,5 +208,77 @@ public class Server {
|
|||
ch.writeAndFlush(new GameStartedMessage(gameId, playerId)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
public void initGame(String sessionId, UUID gameId, GameView gameView) {
|
||||
Channel ch = findChannel(sessionId);
|
||||
if (ch != null)
|
||||
ch.writeAndFlush(new GameInitMessage(gameId, gameView)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
public void gameAsk(String sessionId, UUID gameId, GameView gameView, String question) {
|
||||
Channel ch = findChannel(sessionId);
|
||||
if (ch != null)
|
||||
ch.writeAndFlush(new GameAskMessage(gameId, gameView, question)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
public void gameTarget(String sessionId, UUID gameId, GameView gameView, String question, CardsView cardView, Set<UUID> targets, boolean required, Map<String, Serializable> options) {
|
||||
Channel ch = findChannel(sessionId);
|
||||
if (ch != null)
|
||||
ch.writeAndFlush(new GameTargetMessage(gameId, gameView, question, cardView, targets, required, options)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
public void gameSelect(String sessionId, UUID gameId, GameView gameView, String message, Map<String, Serializable> options) {
|
||||
Channel ch = findChannel(sessionId);
|
||||
if (ch != null)
|
||||
ch.writeAndFlush(new GameSelectMessage(gameId, gameView, message, options)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
public void gameChooseAbility(String sessionId, UUID gameId, AbilityPickerView abilities) {
|
||||
Channel ch = findChannel(sessionId);
|
||||
if (ch != null)
|
||||
ch.writeAndFlush(new GameChooseAbilityMessage(gameId, abilities)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
public void gameChoosePile(String sessionId, UUID gameId, String message, CardsView pile1, CardsView pile2) {
|
||||
Channel ch = findChannel(sessionId);
|
||||
if (ch != null)
|
||||
ch.writeAndFlush(new GameChoosePileMessage(gameId, message, pile1, pile2)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
public void gameChooseChoice(String sessionId, UUID gameId, Choice choice) {
|
||||
Channel ch = findChannel(sessionId);
|
||||
if (ch != null)
|
||||
ch.writeAndFlush(new GameChooseChoiceMessage(gameId, choice)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
public void gamePlayMana(String sessionId, UUID gameId, GameView gameView, String message) {
|
||||
Channel ch = findChannel(sessionId);
|
||||
if (ch != null)
|
||||
ch.writeAndFlush(new GamePlayManaMessage(gameId, gameView, message)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
public void gamePlayXMana(String sessionId, UUID gameId, GameView gameView, String message) {
|
||||
Channel ch = findChannel(sessionId);
|
||||
if (ch != null)
|
||||
ch.writeAndFlush(new GamePlayXManaMessage(gameId, gameView, message)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
public void gameSelectAmount(String sessionId, UUID gameId, String message, int min, int max) {
|
||||
Channel ch = findChannel(sessionId);
|
||||
if (ch != null)
|
||||
ch.writeAndFlush(new GameSelectAmountMessage(gameId, message, min, max)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
public void endGameInfo(String sessionId, UUID gameId, GameEndView view) {
|
||||
Channel ch = findChannel(sessionId);
|
||||
if (ch != null)
|
||||
ch.writeAndFlush(new GameEndInfoMessage(gameId, view)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
public void userRequestDialog(String sessionId, UUID gameId, UserRequestMessage userRequestMessage) {
|
||||
Channel ch = findChannel(sessionId);
|
||||
if (ch != null)
|
||||
ch.writeAndFlush(new UserRequestDialogMessage(gameId, userRequestMessage)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
package org.mage.network.handlers.client;
|
||||
|
||||
import org.mage.network.model.SendPlayerManaTypeRequest;
|
||||
import org.mage.network.model.SendPlayerIntegerRequest;
|
||||
import org.mage.network.model.SendPlayerStringRequest;
|
||||
import org.mage.network.model.SendPlayerUUIDRequest;
|
||||
import org.mage.network.model.SendPlayerBooleanRequest;
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import io.netty.channel.SimpleChannelInboundHandler;
|
||||
import java.util.List;
|
||||
|
|
@ -7,6 +12,7 @@ import java.util.UUID;
|
|||
import java.util.concurrent.BlockingQueue;
|
||||
import java.util.concurrent.LinkedBlockingQueue;
|
||||
import mage.cards.decks.DeckCardLists;
|
||||
import mage.constants.ManaType;
|
||||
import mage.game.match.MatchOptions;
|
||||
import mage.view.RoomView;
|
||||
import mage.view.TableView;
|
||||
|
|
@ -155,4 +161,24 @@ public class ClientMessageHandler extends SimpleChannelInboundHandler<ClientMess
|
|||
stringListQueue.offer(list);
|
||||
}
|
||||
|
||||
public void sendPlayerUUID(UUID gameId, UUID id) {
|
||||
ctx.writeAndFlush(new SendPlayerUUIDRequest(gameId, id)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
public void sendPlayerBoolean(UUID gameId, boolean b) {
|
||||
ctx.writeAndFlush(new SendPlayerBooleanRequest(gameId, b)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
public void sendPlayerInteger(UUID gameId, int i) {
|
||||
ctx.writeAndFlush(new SendPlayerIntegerRequest(gameId, i)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
public void sendPlayerString(UUID gameId, String string) {
|
||||
ctx.writeAndFlush(new SendPlayerStringRequest(gameId, string)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
public void sendPlayerManaType(UUID gameId, UUID playerId, ManaType manaType) {
|
||||
ctx.writeAndFlush(new SendPlayerManaTypeRequest(gameId, playerId, manaType)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,18 @@
|
|||
package org.mage.network.interfaces;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import mage.choices.Choice;
|
||||
import mage.game.Table;
|
||||
import mage.interfaces.ServerState;
|
||||
import mage.view.AbilityPickerView;
|
||||
import mage.view.CardsView;
|
||||
import mage.view.ChatMessage;
|
||||
import mage.view.GameEndView;
|
||||
import mage.view.GameView;
|
||||
import mage.view.UserRequestMessage;
|
||||
import org.mage.network.model.MessageType;
|
||||
|
||||
/**
|
||||
|
|
@ -24,5 +34,21 @@ public interface MageClient {
|
|||
|
||||
void joinedTable(UUID roomId, UUID tableId, UUID chatId, boolean owner, boolean tournament);
|
||||
void gameStarted(UUID gameId, UUID playerId);
|
||||
|
||||
void initGame(UUID gameId, GameView gameView);
|
||||
|
||||
void gameAsk(UUID gameId, GameView gameView, String question);
|
||||
void gameTarget(UUID gameId, GameView gameView, String question, CardsView cardView, Set<UUID> targets, boolean required, Map<String, Serializable> options);
|
||||
void gameChooseAbility(UUID gameId, AbilityPickerView abilities);
|
||||
void gameChoosePile(UUID gameId, String message, CardsView pile1, CardsView pile2);
|
||||
void gameChooseChoice(UUID gameId, Choice choice);
|
||||
void gamePlayMana(UUID gameId, GameView gameView, String message);
|
||||
void gamePlayXMana(UUID gameId, GameView gameView, String message);
|
||||
void gameSelectAmount(UUID gameId, String message, int min, int max);
|
||||
void gameSelect(UUID gameId, GameView gameView, String message, Map<String, Serializable> options);
|
||||
|
||||
public void gameEndInfo(UUID gameId, GameEndView view);
|
||||
|
||||
public void userRequestDialog(UUID gameId, UserRequestMessage userRequestMessage);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package org.mage.network.interfaces;
|
|||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
import mage.cards.decks.DeckCardLists;
|
||||
import mage.constants.ManaType;
|
||||
import mage.game.match.MatchOptions;
|
||||
import mage.interfaces.ServerState;
|
||||
import mage.remote.Connection;
|
||||
|
|
@ -38,8 +39,13 @@ public interface MageServer {
|
|||
void swapSeats(String sessionId, UUID roomId, UUID tableId, int seatNum1, int seatNum2);
|
||||
|
||||
boolean startMatch(String sessionId, UUID roomId, UUID tableId);
|
||||
UUID joinGame(final UUID gameId, final String sessionId);
|
||||
|
||||
UUID joinGame(UUID gameId, String sessionId);
|
||||
void sendPlayerUUID(UUID gameId, String sessionId, UUID data);
|
||||
void sendPlayerString(UUID gameId, String sessionId, String data);
|
||||
void sendPlayerManaType(UUID gameId, UUID playerId, String sessionId, ManaType data);
|
||||
void sendPlayerBoolean(UUID gameId, String sessionId, Boolean data);
|
||||
void sendPlayerInteger(UUID gameId, String sessionId, Integer data);
|
||||
|
||||
void pingTime(long milliSeconds, String sessionId);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,28 @@
|
|||
package org.mage.network.model;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.view.GameView;
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class GameAskMessage extends ClientMessage {
|
||||
|
||||
private UUID gameId;
|
||||
private GameView gameView;
|
||||
private String question;
|
||||
|
||||
public GameAskMessage(UUID gameId, GameView gameView, String question) {
|
||||
this.gameId = gameId;
|
||||
this.gameView = gameView;
|
||||
this.question = question;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(ClientMessageHandler handler) {
|
||||
handler.getClient().gameAsk(gameId, gameView, question);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
package org.mage.network.model;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.view.AbilityPickerView;
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class GameChooseAbilityMessage extends ClientMessage {
|
||||
private final UUID gameId;
|
||||
private final AbilityPickerView abilities;
|
||||
|
||||
public GameChooseAbilityMessage(UUID gameId, AbilityPickerView abilities) {
|
||||
this.gameId = gameId;
|
||||
this.abilities = abilities;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(ClientMessageHandler handler) {
|
||||
handler.getClient().gameChooseAbility(gameId, abilities);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
package org.mage.network.model;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.choices.Choice;
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class GameChooseChoiceMessage extends ClientMessage {
|
||||
private final UUID gameId;
|
||||
private final Choice choice;
|
||||
|
||||
public GameChooseChoiceMessage(UUID gameId, Choice choice) {
|
||||
this.gameId = gameId;
|
||||
this.choice = choice;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(ClientMessageHandler handler) {
|
||||
handler.getClient().gameChooseChoice(gameId, choice);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
package org.mage.network.model;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.view.CardsView;
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class GameChoosePileMessage extends ClientMessage {
|
||||
private final UUID gameId;
|
||||
private final String message;
|
||||
private final CardsView pile1;
|
||||
private final CardsView pile2;
|
||||
|
||||
public GameChoosePileMessage(UUID gameId, String message, CardsView pile1, CardsView pile2) {
|
||||
this.gameId = gameId;
|
||||
this.message = message;
|
||||
this.pile1 = pile1;
|
||||
this.pile2 = pile2;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(ClientMessageHandler handler) {
|
||||
handler.getClient().gameChoosePile(gameId, message, pile1, pile2);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
package org.mage.network.model;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.game.Table;
|
||||
import mage.view.GameEndView;
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class GameEndInfoMessage extends ClientMessage {
|
||||
private final UUID gameId;
|
||||
private final GameEndView view;
|
||||
|
||||
public GameEndInfoMessage(UUID gameId, GameEndView view) {
|
||||
this.gameId = gameId;
|
||||
this.view = view;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(ClientMessageHandler handler) {
|
||||
handler.getClient().gameEndInfo(gameId, view);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
package org.mage.network.model;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.view.GameView;
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class GameInitMessage extends ClientMessage {
|
||||
|
||||
private UUID gameId;
|
||||
private GameView gameView;
|
||||
|
||||
public GameInitMessage(UUID gameId, GameView gameView) {
|
||||
this.gameId = gameId;
|
||||
this.gameView = gameView;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(ClientMessageHandler handler) {
|
||||
handler.getClient().initGame(gameId, gameView);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
package org.mage.network.model;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.view.GameView;
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class GamePlayManaMessage extends ClientMessage {
|
||||
private final UUID gameId;
|
||||
private final GameView gameView;
|
||||
private final String message;
|
||||
|
||||
public GamePlayManaMessage(UUID gameId, GameView gameView, String message) {
|
||||
this.gameId = gameId;
|
||||
this.gameView = gameView;
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(ClientMessageHandler handler) {
|
||||
handler.getClient().gamePlayMana(gameId, gameView, message);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
package org.mage.network.model;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.view.GameView;
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class GamePlayXManaMessage extends ClientMessage {
|
||||
private final UUID gameId;
|
||||
private final GameView gameView;
|
||||
private final String message;
|
||||
|
||||
public GamePlayXManaMessage(UUID gameId, GameView gameView, String message) {
|
||||
this.gameId = gameId;
|
||||
this.gameView = gameView;
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(ClientMessageHandler handler) {
|
||||
handler.getClient().gamePlayXMana(gameId, gameView, message);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
package org.mage.network.model;
|
||||
|
||||
import java.util.UUID;
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class GameSelectAmountMessage extends ClientMessage {
|
||||
private final UUID gameId;
|
||||
private final String message;
|
||||
private final int min;
|
||||
private final int max;
|
||||
|
||||
public GameSelectAmountMessage(UUID gameId, String message, int min, int max) {
|
||||
this.gameId = gameId;
|
||||
this.message = message;
|
||||
this.min = min;
|
||||
this.max = max;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(ClientMessageHandler handler) {
|
||||
handler.getClient().gameSelectAmount(gameId, message, min, max);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
package org.mage.network.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
import mage.view.GameView;
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class GameSelectMessage extends ClientMessage {
|
||||
private final UUID gameId;
|
||||
private final GameView gameView;
|
||||
private final String message;
|
||||
private final Map<String, Serializable> options;
|
||||
|
||||
public GameSelectMessage(UUID gameId, GameView gameView, String message, Map<String, Serializable> options) {
|
||||
this.gameId = gameId;
|
||||
this.gameView = gameView;
|
||||
this.message = message;
|
||||
this.options = options;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(ClientMessageHandler handler) {
|
||||
handler.getClient().gameSelect(gameId, gameView, message, options);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
package org.mage.network.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import mage.view.CardsView;
|
||||
import mage.view.GameView;
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class GameTargetMessage extends ClientMessage {
|
||||
|
||||
private final UUID gameId;
|
||||
private final GameView gameView;
|
||||
private final String question;
|
||||
private final CardsView cardView;
|
||||
private final Set<UUID> targets;
|
||||
private final boolean required;
|
||||
private final Map<String, Serializable> options;
|
||||
|
||||
public GameTargetMessage(UUID gameId, GameView gameView, String question, CardsView cardView, Set<UUID> targets, boolean required, Map<String, Serializable> options) {
|
||||
this.gameId = gameId;
|
||||
this.gameView = gameView;
|
||||
this.question = question;
|
||||
this.cardView = cardView;
|
||||
this.targets = targets;
|
||||
this.required = required;
|
||||
this.options = options;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(ClientMessageHandler handler) {
|
||||
handler.getClient().gameTarget(gameId, gameView, question, cardView, targets, required, options);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
package org.mage.network.model;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import java.util.UUID;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class SendPlayerBooleanRequest extends ServerRequest {
|
||||
private final UUID gameId;
|
||||
private final boolean b;
|
||||
|
||||
public SendPlayerBooleanRequest(UUID gameId, boolean b) {
|
||||
this.gameId = gameId;
|
||||
this.b = b;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(MageServer server, ChannelHandlerContext ctx) {
|
||||
server.sendPlayerBoolean(gameId, ctx.channel().id().asLongText(), b);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
package org.mage.network.model;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import java.util.UUID;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class SendPlayerIntegerRequest extends ServerRequest {
|
||||
private final UUID gameId;
|
||||
private final int i;
|
||||
|
||||
public SendPlayerIntegerRequest(UUID gameId, int i) {
|
||||
this.gameId = gameId;
|
||||
this.i = i;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(MageServer server, ChannelHandlerContext ctx) {
|
||||
server.sendPlayerInteger(gameId, ctx.channel().id().asLongText(), i);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
package org.mage.network.model;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import java.util.UUID;
|
||||
import mage.constants.ManaType;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class SendPlayerManaTypeRequest extends ServerRequest {
|
||||
private final UUID gameId;
|
||||
private final UUID playerId;
|
||||
private final ManaType manaType;
|
||||
|
||||
public SendPlayerManaTypeRequest(UUID gameId, UUID playerId, ManaType manaType) {
|
||||
this.gameId = gameId;
|
||||
this.playerId = playerId;
|
||||
this.manaType = manaType;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(MageServer server, ChannelHandlerContext ctx) {
|
||||
server.sendPlayerManaType(gameId, playerId, ctx.channel().id().asLongText(), manaType);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
package org.mage.network.model;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import java.util.UUID;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class SendPlayerStringRequest extends ServerRequest {
|
||||
private final UUID gameId;
|
||||
private final String string;
|
||||
|
||||
public SendPlayerStringRequest(UUID gameId, String string) {
|
||||
this.gameId = gameId;
|
||||
this.string = string;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(MageServer server, ChannelHandlerContext ctx) {
|
||||
server.sendPlayerString(gameId, ctx.channel().id().asLongText(), string);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
package org.mage.network.model;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import java.util.UUID;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class SendPlayerUUIDRequest extends ServerRequest {
|
||||
private final UUID gameId;
|
||||
private final UUID id;
|
||||
|
||||
public SendPlayerUUIDRequest(UUID gameId, UUID id) {
|
||||
this.gameId = gameId;
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(MageServer server, ChannelHandlerContext ctx) {
|
||||
server.sendPlayerUUID(gameId, ctx.channel().id().asLongText(), id);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
package org.mage.network.model;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.view.UserRequestMessage;
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class UserRequestDialogMessage extends ClientMessage {
|
||||
private final UUID gameId;
|
||||
private final UserRequestMessage userRequestMessage;
|
||||
|
||||
public UserRequestDialogMessage(UUID gameId, UserRequestMessage userRequestMessage) {
|
||||
this.gameId = gameId;
|
||||
this.userRequestMessage = userRequestMessage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(ClientMessageHandler handler) {
|
||||
handler.getClient().userRequestDialog(gameId, userRequestMessage);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -31,10 +31,12 @@ package mage.server;
|
|||
import io.netty.channel.ChannelId;
|
||||
import java.io.File;
|
||||
import java.io.FilenameFilter;
|
||||
import java.io.Serializable;
|
||||
import java.net.MalformedURLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
|
|
@ -45,6 +47,7 @@ import mage.cards.repository.CardRepository;
|
|||
import mage.cards.repository.CardScanner;
|
||||
import mage.cards.repository.ExpansionInfo;
|
||||
import mage.cards.repository.ExpansionRepository;
|
||||
import mage.choices.Choice;
|
||||
import mage.constants.ManaType;
|
||||
import mage.constants.PlayerAction;
|
||||
import mage.constants.TableState;
|
||||
|
|
@ -89,9 +92,12 @@ import mage.utils.ActionWithNullNegativeResult;
|
|||
import mage.utils.ActionWithTableViewResult;
|
||||
import mage.utils.CompressUtil;
|
||||
import mage.utils.MageVersion;
|
||||
import mage.view.AbilityPickerView;
|
||||
import mage.view.CardsView;
|
||||
import mage.view.ChatMessage;
|
||||
import mage.view.ChatMessage.MessageColor;
|
||||
import mage.view.DraftPickView;
|
||||
import mage.view.GameEndView;
|
||||
import mage.view.GameView;
|
||||
import mage.view.MatchView;
|
||||
import mage.view.RoomUsersView;
|
||||
|
|
@ -99,6 +105,7 @@ import mage.view.RoomView;
|
|||
import mage.view.TableView;
|
||||
import mage.view.TournamentView;
|
||||
import mage.view.UserDataView;
|
||||
import mage.view.UserRequestMessage;
|
||||
import mage.view.UserView;
|
||||
import org.apache.commons.lang3.StringEscapeUtils;
|
||||
import org.apache.log4j.Logger;
|
||||
|
|
@ -762,81 +769,81 @@ public class Main implements MageServer {
|
|||
// return null;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void sendPlayerUUID(final UUID gameId, final String sessionId, final UUID data) throws MageException {
|
||||
@Override
|
||||
public void sendPlayerUUID(final UUID gameId, final String sessionId, final UUID data) {
|
||||
// execute("sendPlayerUUID", sessionId, new Action() {
|
||||
// @Override
|
||||
// public void execute() {
|
||||
// User user = SessionManager.getInstance().getUser(sessionId);
|
||||
// if (user != null) {
|
||||
//// logger.warn("sendPlayerUUID gameId=" + gameId + " sessionId=" + sessionId + " username=" + user.getName());
|
||||
// user.sendPlayerUUID(gameId, data);
|
||||
// } else {
|
||||
// logger.warn("Your session expired: gameId=" + gameId + ", sessionId=" + sessionId);
|
||||
// }
|
||||
User user = SessionManager.getInstance().getUser(sessionId);
|
||||
if (user != null) {
|
||||
// logger.warn("sendPlayerUUID gameId=" + gameId + " sessionId=" + sessionId + " username=" + user.getName());
|
||||
user.sendPlayerUUID(gameId, data);
|
||||
} else {
|
||||
logger.warn("Your session expired: gameId=" + gameId + ", sessionId=" + sessionId);
|
||||
}
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void sendPlayerString(final UUID gameId, final String sessionId, final String data) throws MageException {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendPlayerString(final UUID gameId, final String sessionId, final String data) {
|
||||
// execute("sendPlayerString", sessionId, new Action() {
|
||||
// @Override
|
||||
// public void execute() {
|
||||
// User user = SessionManager.getInstance().getUser(sessionId);
|
||||
// if (user != null) {
|
||||
// user.sendPlayerString(gameId, data);
|
||||
// } else {
|
||||
// logger.warn("Your session expired: gameId=" + gameId + ", sessionId=" + sessionId);
|
||||
// }
|
||||
User user = SessionManager.getInstance().getUser(sessionId);
|
||||
if (user != null) {
|
||||
user.sendPlayerString(gameId, data);
|
||||
} else {
|
||||
logger.warn("Your session expired: gameId=" + gameId + ", sessionId=" + sessionId);
|
||||
}
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void sendPlayerManaType(final UUID gameId, final UUID playerId, final String sessionId, final ManaType data) throws MageException {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendPlayerManaType(final UUID gameId, final UUID playerId, final String sessionId, final ManaType data) {
|
||||
// execute("sendPlayerManaType", sessionId, new Action() {
|
||||
// @Override
|
||||
// public void execute() {
|
||||
// User user = SessionManager.getInstance().getUser(sessionId);
|
||||
// if (user != null) {
|
||||
// user.sendPlayerManaType(gameId, playerId, data);
|
||||
// } else {
|
||||
// logger.warn("Your session expired: gameId=" + gameId + ", sessionId=" + sessionId);
|
||||
// }
|
||||
User user = SessionManager.getInstance().getUser(sessionId);
|
||||
if (user != null) {
|
||||
user.sendPlayerManaType(gameId, playerId, data);
|
||||
} else {
|
||||
logger.warn("Your session expired: gameId=" + gameId + ", sessionId=" + sessionId);
|
||||
}
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void sendPlayerBoolean(final UUID gameId, final String sessionId, final Boolean data) throws MageException {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendPlayerBoolean(final UUID gameId, final String sessionId, final Boolean data) {
|
||||
// execute("sendPlayerBoolean", sessionId, new Action() {
|
||||
// @Override
|
||||
// public void execute() {
|
||||
// User user = SessionManager.getInstance().getUser(sessionId);
|
||||
// if (user != null) {
|
||||
// user.sendPlayerBoolean(gameId, data);
|
||||
// } else {
|
||||
// logger.warn("Your session expired: gameId=" + gameId + ", sessionId=" + sessionId);
|
||||
// }
|
||||
User user = SessionManager.getInstance().getUser(sessionId);
|
||||
if (user != null) {
|
||||
user.sendPlayerBoolean(gameId, data);
|
||||
} else {
|
||||
logger.warn("Your session expired: gameId=" + gameId + ", sessionId=" + sessionId);
|
||||
}
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void sendPlayerInteger(final UUID gameId, final String sessionId, final Integer data) throws MageException {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendPlayerInteger(final UUID gameId, final String sessionId, final Integer data) {
|
||||
// execute("sendPlayerInteger", sessionId, new Action() {
|
||||
// @Override
|
||||
// public void execute() {
|
||||
// User user = SessionManager.getInstance().getUser(sessionId);
|
||||
// if (user != null) {
|
||||
// user.sendPlayerInteger(gameId, data);
|
||||
// } else {
|
||||
// logger.warn("Your session expired: gameId=" + gameId + ", sessionId=" + sessionId);
|
||||
// }
|
||||
User user = SessionManager.getInstance().getUser(sessionId);
|
||||
if (user != null) {
|
||||
user.sendPlayerInteger(gameId, data);
|
||||
} else {
|
||||
logger.warn("Your session expired: gameId=" + gameId + ", sessionId=" + sessionId);
|
||||
}
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
}
|
||||
//
|
||||
// @Override
|
||||
// public DraftPickView sendCardPick(final UUID draftId, final String sessionId, final UUID cardPick, final Set<UUID> hiddenCards) throws MageException {
|
||||
|
|
@ -1387,4 +1394,52 @@ public class Main implements MageServer {
|
|||
server.gameStarted(sessionId, gameId, playerId);
|
||||
}
|
||||
|
||||
public void initGame(String sessionId, UUID gameId, GameView gameView) {
|
||||
server.initGame(sessionId, gameId, gameView);
|
||||
}
|
||||
|
||||
void gameAsk(String sessionId, UUID gameId, GameView gameView, String question) {
|
||||
server.gameAsk(sessionId, gameId, gameView, question);
|
||||
}
|
||||
|
||||
void gameTarget(String sessionId, UUID gameId, GameView gameView, String question, CardsView cardView, Set<UUID> targets, boolean required, Map<String, Serializable> options) {
|
||||
server.gameTarget(sessionId, gameId, gameView, question, cardView, targets, required, options);
|
||||
}
|
||||
|
||||
void gameSelect(String sessionId, UUID gameId, GameView gameView, String message, Map<String, Serializable> options) {
|
||||
server.gameSelect(sessionId, gameId, gameView, message, options);
|
||||
}
|
||||
|
||||
void gameChooseAbility(String sessionId, UUID gameId, AbilityPickerView abilities) {
|
||||
server.gameChooseAbility(sessionId, gameId, abilities);
|
||||
}
|
||||
|
||||
void gameChoosePile(String sessionId, UUID gameId, String message, CardsView pile1, CardsView pile2) {
|
||||
server.gameChoosePile(sessionId, gameId, message, pile1, pile2);
|
||||
}
|
||||
|
||||
void gameChooseChoice(String sessionId, UUID gameId, Choice choice) {
|
||||
server.gameChooseChoice(sessionId, gameId, choice);
|
||||
}
|
||||
|
||||
void gamePlayMana(String sessionId, UUID gameId, GameView gameView, String message) {
|
||||
server.gamePlayMana(sessionId, gameId, gameView, message);
|
||||
}
|
||||
|
||||
void gamePlayXMana(String sessionId, UUID gameId, GameView gameView, String message) {
|
||||
server.gamePlayXMana(sessionId, gameId, gameView, message);
|
||||
}
|
||||
|
||||
void gameSelectAmount(String sessionId, UUID gameId, String message, int min, int max) {
|
||||
server.gameSelectAmount(sessionId, gameId, message, min, max);
|
||||
}
|
||||
|
||||
void endGameInfo(String sessionId, UUID gameId, GameEndView view) {
|
||||
server.endGameInfo(sessionId, gameId, view);
|
||||
}
|
||||
|
||||
void userRequestDialog(String sessionId, UUID gameId, UserRequestMessage userRequestMessage) {
|
||||
server.userRequestDialog(sessionId, gameId, userRequestMessage);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@
|
|||
*/
|
||||
package mage.server;
|
||||
|
||||
import java.io.Serializable;
|
||||
import mage.remote.DisconnectReason;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
|
|
@ -35,10 +36,12 @@ import java.util.LinkedList;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import mage.cards.decks.Deck;
|
||||
import mage.choices.Choice;
|
||||
import mage.constants.ManaType;
|
||||
import mage.game.Table;
|
||||
import mage.game.tournament.TournamentPlayer;
|
||||
|
|
@ -51,7 +54,12 @@ import mage.server.tournament.TournamentController;
|
|||
import mage.server.tournament.TournamentManager;
|
||||
import mage.server.tournament.TournamentSession;
|
||||
import mage.server.util.SystemUtil;
|
||||
import mage.view.AbilityPickerView;
|
||||
import mage.view.CardsView;
|
||||
import mage.view.GameEndView;
|
||||
import mage.view.GameView;
|
||||
import mage.view.TableClientMessage;
|
||||
import mage.view.UserRequestMessage;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.mage.network.model.MessageType;
|
||||
|
||||
|
|
@ -198,6 +206,54 @@ public class User {
|
|||
Main.getInstance().gameStarted(sessionId, gameId, playerId);
|
||||
}
|
||||
|
||||
public void initGame(UUID gameId, GameView gameView) {
|
||||
Main.getInstance().initGame(sessionId, gameId, gameView);
|
||||
}
|
||||
|
||||
public void gameAsk(UUID gameId, GameView gameView, String question) {
|
||||
Main.getInstance().gameAsk(sessionId, gameId, gameView, question);
|
||||
}
|
||||
|
||||
public void gameTarget(UUID gameId, GameView gameView, String question, CardsView cardView, Set<UUID> targets, boolean required, Map<String, Serializable> options) {
|
||||
Main.getInstance().gameTarget(sessionId, gameId, gameView, question, cardView, targets, required, options);
|
||||
}
|
||||
|
||||
public void gameSelect(UUID gameId, GameView gameView, String message, Map<String, Serializable> options) {
|
||||
Main.getInstance().gameSelect(sessionId, gameId, gameView, message, options);
|
||||
}
|
||||
|
||||
public void gameChooseAbility(UUID gameId, AbilityPickerView abilities) {
|
||||
Main.getInstance().gameChooseAbility(sessionId, gameId, abilities);
|
||||
}
|
||||
|
||||
public void gameChoosePile(UUID gameId, String message, CardsView pile1, CardsView pile2) {
|
||||
Main.getInstance().gameChoosePile(sessionId, gameId, message, pile1, pile2);
|
||||
}
|
||||
|
||||
public void gameChooseChoice(UUID gameId, Choice choice) {
|
||||
Main.getInstance().gameChooseChoice(sessionId, gameId, choice);
|
||||
}
|
||||
|
||||
public void gamePlayMana(UUID gameId, GameView gameView, String message) {
|
||||
Main.getInstance().gamePlayMana(sessionId, gameId, gameView, message);
|
||||
}
|
||||
|
||||
public void gamePlayXMana(UUID gameId, GameView gameView, String message) {
|
||||
Main.getInstance().gamePlayXMana(sessionId, gameId, gameView, message);
|
||||
}
|
||||
|
||||
public void gameSelectAmount(UUID gameId, String message, int min, int max) {
|
||||
Main.getInstance().gameSelectAmount(sessionId, gameId, message, min, max);
|
||||
}
|
||||
|
||||
public void endGameInfo(UUID gameId, GameEndView view) {
|
||||
Main.getInstance().endGameInfo(sessionId, gameId, view);
|
||||
}
|
||||
|
||||
public void userRequestDialog (UUID gameId, UserRequestMessage userRequestMessage) {
|
||||
Main.getInstance().userRequestDialog(sessionId, gameId, userRequestMessage);
|
||||
}
|
||||
|
||||
public void ccDraftStarted(final UUID draftId, final UUID playerId) {
|
||||
fireCallback(new ClientCallback("startDraft", draftId, new TableClientMessage(draftId, playerId)));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -84,7 +84,8 @@ public class GameSessionPlayer extends GameSessionWatcher {
|
|||
if (!killed) {
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
if (user != null) {
|
||||
user.fireCallback(new ClientCallback("gameAsk", game.getId(), new GameClientMessage(getGameView(), question)));
|
||||
// user.fireCallback(new ClientCallback("gameAsk", game.getId(), new GameClientMessage(getGameView(), question)));
|
||||
user.gameAsk(game.getId(), getGameView(), question);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -93,7 +94,8 @@ public class GameSessionPlayer extends GameSessionWatcher {
|
|||
if (!killed) {
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
if (user != null) {
|
||||
user.fireCallback(new ClientCallback("gameTarget", game.getId(), new GameClientMessage(getGameView(), question, cardView, targets, required, options)));
|
||||
// user.fireCallback(new ClientCallback("gameTarget", game.getId(), new GameClientMessage(getGameView(), question, cardView, targets, required, options)));
|
||||
user.gameTarget(game.getId(), getGameView(), question, cardView, targets, required, options);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -102,7 +104,8 @@ public class GameSessionPlayer extends GameSessionWatcher {
|
|||
if (!killed) {
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
if (user != null) {
|
||||
user.fireCallback(new ClientCallback("gameSelect", game.getId(), new GameClientMessage(getGameView(), message, options)));
|
||||
// user.fireCallback(new ClientCallback("gameSelect", game.getId(), new GameClientMessage(getGameView(), message, options)));
|
||||
user.gameSelect(game.getId(), getGameView(), message, options);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -111,7 +114,8 @@ public class GameSessionPlayer extends GameSessionWatcher {
|
|||
if (!killed) {
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
if (user != null) {
|
||||
user.fireCallback(new ClientCallback("gameChooseAbility", game.getId(), abilities));
|
||||
// user.fireCallback(new ClientCallback("gameChooseAbility", game.getId(), abilities));
|
||||
user.gameChooseAbility(game.getId(), abilities);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -120,7 +124,8 @@ public class GameSessionPlayer extends GameSessionWatcher {
|
|||
if (!killed) {
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
if (user != null) {
|
||||
user.fireCallback(new ClientCallback("gameChoosePile", game.getId(), new GameClientMessage(message, pile1, pile2)));
|
||||
// user.fireCallback(new ClientCallback("gameChoosePile", game.getId(), new GameClientMessage(message, pile1, pile2)));
|
||||
user.gameChoosePile(game.getId(), message, pile1, pile2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -129,7 +134,8 @@ public class GameSessionPlayer extends GameSessionWatcher {
|
|||
if (!killed) {
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
if (user != null) {
|
||||
user.fireCallback(new ClientCallback("gameChooseChoice", game.getId(), new GameClientMessage(choice)));
|
||||
// user.fireCallback(new ClientCallback("gameChooseChoice", game.getId(), new GameClientMessage(choice)));
|
||||
user.gameChooseChoice(game.getId(), choice);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -138,7 +144,8 @@ public class GameSessionPlayer extends GameSessionWatcher {
|
|||
if (!killed) {
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
if (user != null) {
|
||||
user.fireCallback(new ClientCallback("gamePlayMana", game.getId(), new GameClientMessage(getGameView(), message)));
|
||||
// user.fireCallback(new ClientCallback("gamePlayMana", game.getId(), new GameClientMessage(getGameView(), message)));
|
||||
user.gamePlayMana(game.getId(), getGameView(), message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -147,7 +154,8 @@ public class GameSessionPlayer extends GameSessionWatcher {
|
|||
if (!killed) {
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
if (user != null) {
|
||||
user.fireCallback(new ClientCallback("gamePlayXMana", game.getId(), new GameClientMessage(getGameView(), message)));
|
||||
// user.fireCallback(new ClientCallback("gamePlayXMana", game.getId(), new GameClientMessage(getGameView(), message)));
|
||||
user.gamePlayXMana(game.getId(), getGameView(), message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -156,7 +164,8 @@ public class GameSessionPlayer extends GameSessionWatcher {
|
|||
if (!killed) {
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
if (user != null) {
|
||||
user.fireCallback(new ClientCallback("gameSelectAmount", game.getId(), new GameClientMessage(message, min, max)));
|
||||
// user.fireCallback(new ClientCallback("gameSelectAmount", game.getId(), new GameClientMessage(message, min, max)));
|
||||
user.gameSelectAmount(game.getId(), message, min, max);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -165,7 +174,8 @@ public class GameSessionPlayer extends GameSessionWatcher {
|
|||
if (!killed) {
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
if (user != null) {
|
||||
user.fireCallback(new ClientCallback("endGameInfo", game.getId(), getGameEndView(playerId, table)));
|
||||
// user.fireCallback(new ClientCallback("endGameInfo", game.getId(), getGameEndView(playerId, table)));
|
||||
user.endGameInfo(game.getId(), getGameEndView(playerId, table));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -193,7 +203,8 @@ public class GameSessionPlayer extends GameSessionWatcher {
|
|||
userRequestMessage.setGameId(game.getId());
|
||||
userRequestMessage.setButton1("Accept", PlayerAction.ADD_PERMISSION_TO_ROLLBACK_TURN);
|
||||
userRequestMessage.setButton2("Deny", PlayerAction.DENY_PERMISSON_TO_ROLLBACK_TURN);
|
||||
requestedUser.fireCallback(new ClientCallback("userRequestDialog", game.getId(), userRequestMessage));
|
||||
// requestedUser.fireCallback(new ClientCallback("userRequestDialog", game.getId(), userRequestMessage));
|
||||
requestedUser.userRequestDialog(game.getId(), userRequestMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -212,7 +223,8 @@ public class GameSessionPlayer extends GameSessionWatcher {
|
|||
userRequestMessage.setGameId(game.getId());
|
||||
userRequestMessage.setButton1("Accept", PlayerAction.ADD_PERMISSION_TO_SEE_HAND_CARDS);
|
||||
userRequestMessage.setButton2("Reject", null);
|
||||
user.fireCallback(new ClientCallback("userRequestDialog", game.getId(), userRequestMessage));
|
||||
// user.fireCallback(new ClientCallback("userRequestDialog", game.getId(), userRequestMessage));
|
||||
user.userRequestDialog(game.getId(), userRequestMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -66,7 +66,8 @@ public class GameSessionWatcher {
|
|||
if (!killed) {
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
if (user != null) {
|
||||
user.fireCallback(new ClientCallback("gameInit", game.getId(), getGameView()));
|
||||
// user.fireCallback(new ClientCallback("gameInit", game.getId(), getGameView()));
|
||||
user.initGame(game.getId(), getGameView());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue