mirror of
https://github.com/magefree/mage.git
synced 2025-12-24 04:22:01 -08:00
add more methods + refactored some packages
This commit is contained in:
parent
95e9623186
commit
72a301d604
83 changed files with 693 additions and 268 deletions
|
|
@ -27,59 +27,22 @@
|
|||
*/
|
||||
package mage.client;
|
||||
|
||||
import mage.cards.decks.Deck;
|
||||
import mage.cards.repository.CardCriteria;
|
||||
import mage.cards.repository.CardInfo;
|
||||
import mage.cards.repository.CardRepository;
|
||||
import mage.client.cards.BigCard;
|
||||
import mage.client.chat.ChatPanel;
|
||||
import mage.client.components.MageComponents;
|
||||
import mage.client.components.MageJDesktop;
|
||||
import mage.client.components.MageRoundPane;
|
||||
import mage.client.components.MageUI;
|
||||
import mage.client.components.ext.dlg.DialogManager;
|
||||
import mage.client.components.tray.MageTray;
|
||||
import mage.client.constants.Constants.DeckEditorMode;
|
||||
import mage.client.deckeditor.DeckEditorPane;
|
||||
import mage.client.deckeditor.collection.viewer.CollectionViewerPane;
|
||||
import mage.client.dialog.*;
|
||||
import mage.client.draft.DraftPane;
|
||||
import mage.client.draft.DraftPanel;
|
||||
import mage.client.game.GamePane;
|
||||
import mage.client.game.GamePanel;
|
||||
import mage.client.plugins.impl.Plugins;
|
||||
import mage.client.remote.CallbackClientImpl;
|
||||
import mage.client.table.TablesPane;
|
||||
import mage.client.tournament.TournamentPane;
|
||||
import mage.client.util.EDTExceptionHandler;
|
||||
import mage.client.util.SettingsManager;
|
||||
import mage.client.util.SystemUtil;
|
||||
import mage.client.util.audio.MusicPlayer;
|
||||
import mage.client.util.gui.ArrowBuilder;
|
||||
import mage.client.util.stats.UpdateMemUsageTask;
|
||||
import mage.components.ImagePanel;
|
||||
//import mage.interfaces.MageClient;
|
||||
import mage.interfaces.callback.CallbackClient;
|
||||
import mage.interfaces.callback.ClientCallback;
|
||||
import mage.remote.Connection;
|
||||
import mage.remote.Connection.ProxyType;
|
||||
//import mage.remote.Session;
|
||||
//import mage.remote.SessionImpl;
|
||||
import mage.utils.MageVersion;
|
||||
import mage.view.GameEndView;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.mage.card.arcane.ManaSymbols;
|
||||
import org.mage.plugins.card.constants.Constants;
|
||||
import org.mage.plugins.card.images.DownloadPictures;
|
||||
import org.mage.plugins.card.utils.impl.ImageManagerImpl;
|
||||
|
||||
import javax.imageio.ImageIO;
|
||||
import javax.swing.*;
|
||||
import javax.swing.JToolBar.Separator;
|
||||
import javax.swing.event.PopupMenuEvent;
|
||||
import javax.swing.event.PopupMenuListener;
|
||||
import java.awt.*;
|
||||
import java.awt.event.*;
|
||||
import java.awt.AlphaComposite;
|
||||
import java.awt.Color;
|
||||
import java.awt.Component;
|
||||
import java.awt.Cursor;
|
||||
import java.awt.Graphics2D;
|
||||
import java.awt.Image;
|
||||
import java.awt.Rectangle;
|
||||
import java.awt.SplashScreen;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.ComponentAdapter;
|
||||
import java.awt.event.ComponentEvent;
|
||||
import java.awt.event.ItemEvent;
|
||||
import java.awt.event.ItemListener;
|
||||
import java.awt.event.WindowAdapter;
|
||||
import java.awt.event.WindowEvent;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.beans.PropertyVetoException;
|
||||
import java.io.IOException;
|
||||
|
|
@ -91,28 +54,92 @@ 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;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.prefs.Preferences;
|
||||
import static mage.client.dialog.PreferencesDialog.KEY_CONNECT_FLAG;
|
||||
import javax.imageio.ImageIO;
|
||||
import javax.swing.AbstractButton;
|
||||
import javax.swing.Box;
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JCheckBoxMenuItem;
|
||||
import javax.swing.JComponent;
|
||||
import javax.swing.JDesktopPane;
|
||||
import javax.swing.JEditorPane;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JInternalFrame;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JLayeredPane;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JPopupMenu;
|
||||
import javax.swing.JToggleButton;
|
||||
import javax.swing.JToolBar.Separator;
|
||||
import javax.swing.SwingConstants;
|
||||
import javax.swing.SwingUtilities;
|
||||
import javax.swing.UIManager;
|
||||
import javax.swing.event.PopupMenuEvent;
|
||||
import javax.swing.event.PopupMenuListener;
|
||||
import mage.cards.decks.Deck;
|
||||
import mage.cards.repository.CardCriteria;
|
||||
import mage.cards.repository.CardInfo;
|
||||
import mage.cards.repository.CardRepository;
|
||||
import mage.cards.repository.ExpansionInfo;
|
||||
import mage.cards.repository.ExpansionRepository;
|
||||
import mage.client.cards.BigCard;
|
||||
import mage.client.chat.ChatPanel;
|
||||
import mage.client.components.MageComponents;
|
||||
import mage.client.components.MageJDesktop;
|
||||
import mage.client.components.MageRoundPane;
|
||||
import mage.client.components.MageUI;
|
||||
import mage.client.components.ext.dlg.DialogManager;
|
||||
import mage.client.components.tray.MageTray;
|
||||
import mage.client.constants.Constants.DeckEditorMode;
|
||||
import mage.client.deckeditor.DeckEditorPane;
|
||||
import mage.client.deckeditor.collection.viewer.CollectionViewerPane;
|
||||
import mage.client.dialog.AboutDialog;
|
||||
import mage.client.dialog.ConnectDialog;
|
||||
import mage.client.dialog.ErrorDialog;
|
||||
import mage.client.dialog.FeedbackDialog;
|
||||
import mage.client.dialog.GameEndDialog;
|
||||
import mage.client.dialog.PreferencesDialog;
|
||||
import mage.client.dialog.TableWaitingDialog;
|
||||
import mage.client.dialog.UserRequestDialog;
|
||||
import mage.client.draft.DraftPane;
|
||||
import mage.client.draft.DraftPanel;
|
||||
import mage.client.game.GamePane;
|
||||
import mage.client.game.GamePanel;
|
||||
import mage.client.plugins.impl.Plugins;
|
||||
import mage.client.table.TablesPane;
|
||||
import mage.client.tournament.TournamentPane;
|
||||
import mage.client.util.EDTExceptionHandler;
|
||||
import mage.client.util.GameManager;
|
||||
import mage.client.util.audio.AudioManager;
|
||||
import mage.game.Table;
|
||||
import mage.client.util.SettingsManager;
|
||||
import mage.client.util.SystemUtil;
|
||||
import mage.client.util.audio.MusicPlayer;
|
||||
import mage.client.util.gui.ArrowBuilder;
|
||||
import mage.client.util.stats.UpdateMemUsageTask;
|
||||
import mage.components.ImagePanel;
|
||||
import mage.interfaces.ServerState;
|
||||
import mage.remote.Connection;
|
||||
import mage.remote.Connection.ProxyType;
|
||||
import mage.utils.MageVersion;
|
||||
import mage.view.AbilityPickerView;
|
||||
import mage.view.CardsView;
|
||||
import mage.view.ChatMessage;
|
||||
import mage.view.GameClientMessage;
|
||||
import mage.view.GameEndView;
|
||||
import mage.view.GameView;
|
||||
import mage.view.UserRequestMessage;
|
||||
import net.java.truevfs.access.TArchiveDetector;
|
||||
import net.java.truevfs.access.TConfig;
|
||||
import net.java.truevfs.kernel.spec.FsAccessOption;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.mage.card.arcane.ManaSymbols;
|
||||
import org.mage.network.Client;
|
||||
import org.mage.network.interfaces.MageClient;
|
||||
import org.mage.network.model.MessageType;
|
||||
import org.mage.network.messages.MessageType;
|
||||
import org.mage.plugins.card.constants.Constants;
|
||||
import org.mage.plugins.card.images.DownloadPictures;
|
||||
import org.mage.plugins.card.utils.impl.ImageManagerImpl;
|
||||
|
||||
/**
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
|
|
@ -1581,6 +1608,43 @@ public class MageFrame extends javax.swing.JFrame implements MageClient {
|
|||
public void userRequestDialog(UUID gameId, UserRequestMessage userRequestMessage) {
|
||||
showUserRequestDialog(userRequestMessage);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameUpdate(UUID gameId, GameView gameView) {
|
||||
GamePanel panel = MageFrame.getGame(gameId);
|
||||
if (panel != null) {
|
||||
panel.updateGame(gameView);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameInform(UUID gameId, GameClientMessage message) {
|
||||
GamePanel panel = MageFrame.getGame(gameId);
|
||||
if (panel != null) {
|
||||
panel.inform(message.getMessage(), message.getGameView());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameInformPersonal(UUID gameId, GameClientMessage message) {
|
||||
GamePanel panel = MageFrame.getGame(gameId);
|
||||
if (panel != null) {
|
||||
JOptionPane.showMessageDialog(panel, message.getMessage(), "Game message", JOptionPane.INFORMATION_MESSAGE);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameOver(UUID gameId, String message) {
|
||||
GamePanel panel = MageFrame.getGame(gameId);
|
||||
if (panel != null) {
|
||||
panel.endMessage(message);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameError(UUID gameId, String message) {
|
||||
this.showErrorDialog("Game Error", message);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -33,32 +33,19 @@ import javax.swing.JOptionPane;
|
|||
import javax.swing.SwingUtilities;
|
||||
import mage.cards.decks.Deck;
|
||||
import mage.client.MageFrame;
|
||||
import mage.client.chat.ChatPanel;
|
||||
import static mage.client.chat.ChatPanel.ChatType.TABLES;
|
||||
import static mage.client.chat.ChatPanel.ChatType.TOURNAMENT;
|
||||
import mage.client.constants.Constants.DeckEditorMode;
|
||||
import mage.client.draft.DraftPanel;
|
||||
import mage.client.game.GamePanel;
|
||||
import mage.client.plugins.impl.Plugins;
|
||||
import mage.client.util.DeckUtil;
|
||||
import mage.client.util.GameManager;
|
||||
import mage.client.util.audio.AudioManager;
|
||||
import mage.client.util.object.SaveObjectUtil;
|
||||
import mage.interfaces.callback.CallbackClient;
|
||||
import mage.interfaces.callback.ClientCallback;
|
||||
import mage.utils.CompressUtil;
|
||||
import mage.view.AbilityPickerView;
|
||||
import mage.view.ChatMessage;
|
||||
import mage.view.ChatMessage.MessageType;
|
||||
import static mage.view.ChatMessage.SoundToPlay.PlayerLeft;
|
||||
import static mage.view.ChatMessage.SoundToPlay.PlayerQuitTournament;
|
||||
import static mage.view.ChatMessage.SoundToPlay.PlayerSubmittedDeck;
|
||||
import static mage.view.ChatMessage.SoundToPlay.PlayerWhispered;
|
||||
import mage.view.DeckView;
|
||||
import mage.view.DraftClientMessage;
|
||||
import mage.view.DraftView;
|
||||
import mage.view.GameClientMessage;
|
||||
import mage.view.GameEndView;
|
||||
import mage.view.GameView;
|
||||
import mage.view.TableClientMessage;
|
||||
import mage.view.UserRequestMessage;
|
||||
|
|
@ -195,16 +182,16 @@ public class CallbackClientImpl implements CallbackClient {
|
|||
// panel.init((GameView) callback.getData());
|
||||
// } break;
|
||||
// }
|
||||
case "gameOver":
|
||||
{
|
||||
GamePanel panel = MageFrame.getGame(callback.getObjectId());
|
||||
if (panel != null) {
|
||||
panel.endMessage((String) callback.getData());
|
||||
} break;
|
||||
}
|
||||
case "gameError":
|
||||
frame.showErrorDialog("Game Error", (String) callback.getData());
|
||||
break;
|
||||
// case "gameOver":
|
||||
// {
|
||||
// GamePanel panel = MageFrame.getGame(callback.getObjectId());
|
||||
// if (panel != null) {
|
||||
// panel.endMessage((String) callback.getData());
|
||||
// } break;
|
||||
// }
|
||||
// case "gameError":
|
||||
// frame.showErrorDialog("Game Error", (String) callback.getData());
|
||||
// break;
|
||||
// case "gameAsk":
|
||||
// {
|
||||
// GameClientMessage message = (GameClientMessage) callback.getData();
|
||||
|
|
@ -281,13 +268,13 @@ public class CallbackClientImpl implements CallbackClient {
|
|||
// 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 "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;
|
||||
|
|
@ -296,31 +283,31 @@ public class CallbackClientImpl implements CallbackClient {
|
|||
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());
|
||||
}
|
||||
}
|
||||
// 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 "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());
|
||||
// }
|
||||
// }
|
||||
//// 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();
|
||||
|
|
|
|||
|
|
@ -17,17 +17,17 @@ 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.GameClientMessage;
|
||||
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;
|
||||
import org.mage.network.messages.MessageType;
|
||||
|
||||
/**
|
||||
* Test for emulating the connection from multi mage clients.
|
||||
|
|
@ -203,6 +203,31 @@ public class MultiConnectTest {
|
|||
public void userRequestDialog(UUID gameId, UserRequestMessage userRequestMessage) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameUpdate(UUID gameId, GameView gameView) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameInform(UUID gameId, GameClientMessage message) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameInformPersonal(UUID gameId, GameClientMessage message) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameOver(UUID gameId, String message) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameError(UUID gameId, String message) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] argv) throws Exception {
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ import org.mage.network.handlers.client.ClientMessageHandler;
|
|||
import org.mage.network.handlers.client.ClientRegisteredMessageHandler;
|
||||
import org.mage.network.handlers.client.HeartbeatHandler;
|
||||
import org.mage.network.interfaces.MageClient;
|
||||
import org.mage.network.model.MessageType;
|
||||
import org.mage.network.messages.MessageType;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -195,7 +195,12 @@ public class Client {
|
|||
}
|
||||
|
||||
public boolean submitDeck(UUID tableId, DeckCardLists deckCardLists) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
try {
|
||||
return clientMessageHandler.submitDeck(tableId, deckCardLists);
|
||||
} catch (Exception ex) {
|
||||
logger.error("Error submitting deck", ex);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public void updateDeck(UUID tableId, DeckCardLists deckCardLists) {
|
||||
|
|
|
|||
|
|
@ -1,14 +1,5 @@
|
|||
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;
|
||||
|
|
@ -34,31 +25,44 @@ 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.GameClientMessage;
|
||||
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;
|
||||
import org.mage.network.handlers.server.HeartbeatHandler;
|
||||
import org.mage.network.handlers.PingMessageHandler;
|
||||
import org.mage.network.handlers.WriteListener;
|
||||
import org.mage.network.handlers.server.ConnectionHandler;
|
||||
import org.mage.network.handlers.server.HeartbeatHandler;
|
||||
import org.mage.network.handlers.server.ServerRequestHandler;
|
||||
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;
|
||||
import org.mage.network.model.PingMessage;
|
||||
import org.mage.network.messages.ChatMessageMessage;
|
||||
import org.mage.network.messages.GameAskMessage;
|
||||
import org.mage.network.messages.GameChooseAbilityMessage;
|
||||
import org.mage.network.messages.GameChooseChoiceMessage;
|
||||
import org.mage.network.messages.GameChoosePileMessage;
|
||||
import org.mage.network.messages.GameEndInfoMessage;
|
||||
import org.mage.network.messages.GameErrorMessage;
|
||||
import org.mage.network.messages.GameInformMessage;
|
||||
import org.mage.network.messages.GameInformPersonalMessage;
|
||||
import org.mage.network.messages.GameInitMessage;
|
||||
import org.mage.network.messages.GameOverMessage;
|
||||
import org.mage.network.messages.GamePlayManaMessage;
|
||||
import org.mage.network.messages.GamePlayXManaMessage;
|
||||
import org.mage.network.messages.GameSelectAmountMessage;
|
||||
import org.mage.network.messages.GameSelectMessage;
|
||||
import org.mage.network.messages.GameStartedMessage;
|
||||
import org.mage.network.messages.GameTargetMessage;
|
||||
import org.mage.network.messages.GameUpdateMessage;
|
||||
import org.mage.network.messages.InformClientMessage;
|
||||
import org.mage.network.messages.JoinedTableMessage;
|
||||
import org.mage.network.messages.MessageType;
|
||||
import org.mage.network.messages.PingMessage;
|
||||
import org.mage.network.messages.UserRequestDialogMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -260,5 +264,34 @@ public class Server {
|
|||
ch.writeAndFlush(new UserRequestDialogMessage(gameId, userRequestMessage)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
|
||||
public void gameUpdate(String sessionId, UUID gameId, GameView view) {
|
||||
Channel ch = findChannel(sessionId);
|
||||
if (ch != null)
|
||||
ch.writeAndFlush(new GameUpdateMessage(gameId, view)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
public void gameInform(String sessionId, UUID gameId, GameClientMessage message) {
|
||||
Channel ch = findChannel(sessionId);
|
||||
if (ch != null)
|
||||
ch.writeAndFlush(new GameInformMessage(gameId, message)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
public void gameInformPersonal(String sessionId, UUID gameId, GameClientMessage message) {
|
||||
Channel ch = findChannel(sessionId);
|
||||
if (ch != null)
|
||||
ch.writeAndFlush(new GameInformPersonalMessage(gameId, message)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
public void gameOver(String sessionId, UUID gameId, String message) {
|
||||
Channel ch = findChannel(sessionId);
|
||||
if (ch != null)
|
||||
ch.writeAndFlush(new GameOverMessage(gameId, message)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
public void gameError(String sessionId, UUID gameId, String message) {
|
||||
Channel ch = findChannel(sessionId);
|
||||
if (ch != null)
|
||||
ch.writeAndFlush(new GameErrorMessage(gameId, message)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ import io.netty.channel.ChannelHandler.Sharable;
|
|||
import io.netty.channel.ChannelHandlerContext;
|
||||
import io.netty.channel.SimpleChannelInboundHandler;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.mage.network.model.PingMessage;
|
||||
import org.mage.network.model.PongMessage;
|
||||
import org.mage.network.messages.PingMessage;
|
||||
import org.mage.network.messages.PongMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
|
|||
|
|
@ -16,29 +16,30 @@ import mage.view.TableView;
|
|||
import mage.view.UserDataView;
|
||||
import org.mage.network.handlers.WriteListener;
|
||||
import org.mage.network.interfaces.MageClient;
|
||||
import org.mage.network.model.ChatMessageRequest;
|
||||
import org.mage.network.model.ChatRoomIdRequest;
|
||||
import org.mage.network.model.ClientMessage;
|
||||
import org.mage.network.model.CreateTableRequest;
|
||||
import org.mage.network.model.GetRoomRequest;
|
||||
import org.mage.network.model.JoinChatRequest;
|
||||
import org.mage.network.model.JoinGameRequest;
|
||||
import org.mage.network.model.JoinTableRequest;
|
||||
import org.mage.network.model.LeaveChatRequest;
|
||||
import org.mage.network.model.LeaveTableRequest;
|
||||
import org.mage.network.model.PlayerActionRequest;
|
||||
import org.mage.network.model.RemoveTableRequest;
|
||||
import org.mage.network.model.SendFeedbackRequest;
|
||||
import org.mage.network.model.SendPlayerBooleanRequest;
|
||||
import org.mage.network.model.SendPlayerIntegerRequest;
|
||||
import org.mage.network.model.SendPlayerManaTypeRequest;
|
||||
import org.mage.network.model.SendPlayerStringRequest;
|
||||
import org.mage.network.model.SendPlayerUUIDRequest;
|
||||
import org.mage.network.model.ServerMessagesRequest;
|
||||
import org.mage.network.model.SetPreferencesRequest;
|
||||
import org.mage.network.model.StartMatchRequest;
|
||||
import org.mage.network.model.SwapSeatRequest;
|
||||
import org.mage.network.model.TableWaitingRequest;
|
||||
import org.mage.network.messages.requests.ChatMessageRequest;
|
||||
import org.mage.network.messages.requests.ChatRoomIdRequest;
|
||||
import org.mage.network.messages.ClientMessage;
|
||||
import org.mage.network.messages.requests.CreateTableRequest;
|
||||
import org.mage.network.messages.requests.GetRoomRequest;
|
||||
import org.mage.network.messages.requests.JoinChatRequest;
|
||||
import org.mage.network.messages.requests.JoinGameRequest;
|
||||
import org.mage.network.messages.requests.JoinTableRequest;
|
||||
import org.mage.network.messages.requests.LeaveChatRequest;
|
||||
import org.mage.network.messages.requests.LeaveTableRequest;
|
||||
import org.mage.network.messages.requests.PlayerActionRequest;
|
||||
import org.mage.network.messages.requests.RemoveTableRequest;
|
||||
import org.mage.network.messages.requests.SendFeedbackRequest;
|
||||
import org.mage.network.messages.requests.SendPlayerBooleanRequest;
|
||||
import org.mage.network.messages.requests.SendPlayerIntegerRequest;
|
||||
import org.mage.network.messages.requests.SendPlayerManaTypeRequest;
|
||||
import org.mage.network.messages.requests.SendPlayerStringRequest;
|
||||
import org.mage.network.messages.requests.SendPlayerUUIDRequest;
|
||||
import org.mage.network.messages.requests.ServerMessagesRequest;
|
||||
import org.mage.network.messages.requests.SetPreferencesRequest;
|
||||
import org.mage.network.messages.requests.StartMatchRequest;
|
||||
import org.mage.network.messages.requests.SubmitDeckRequest;
|
||||
import org.mage.network.messages.requests.SwapSeatRequest;
|
||||
import org.mage.network.messages.requests.TableWaitingRequest;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -123,7 +124,13 @@ public class ClientMessageHandler extends SimpleChannelInboundHandler<ClientMess
|
|||
return uuidQueue.take();
|
||||
}
|
||||
|
||||
public void sendFeedback(String title, String type, String message, String email) throws Exception {
|
||||
public boolean submitDeck(UUID tableId, DeckCardLists deckCardLists) throws Exception {
|
||||
booleanQueue.clear();
|
||||
ctx.writeAndFlush(new SubmitDeckRequest(tableId, deckCardLists)).addListener(WriteListener.getInstance());
|
||||
return booleanQueue.take();
|
||||
}
|
||||
|
||||
public void sendFeedback(String title, String type, String message, String email) {
|
||||
ctx.writeAndFlush(new SendFeedbackRequest(title, type, message, email)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@ import mage.interfaces.ServerState;
|
|||
import mage.remote.Connection;
|
||||
import mage.utils.MageVersion;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.mage.network.model.ClientRegisteredMessage;
|
||||
import org.mage.network.model.RegisterClientRequest;
|
||||
import org.mage.network.messages.responses.ClientRegisteredMessage;
|
||||
import org.mage.network.messages.requests.RegisterClientRequest;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -24,7 +24,7 @@ public class ClientRegisteredMessageHandler extends SimpleChannelInboundHandler<
|
|||
private final BlockingQueue<ServerState> queue = new LinkedBlockingQueue<>();
|
||||
private Connection connection;
|
||||
private MageVersion version;
|
||||
|
||||
|
||||
@Override
|
||||
public void channelActive(ChannelHandlerContext ctx) throws Exception {
|
||||
ctx.writeAndFlush(new RegisterClientRequest(connection, version)).addListener(new ListenerImpl());
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import io.netty.handler.timeout.IdleState;
|
|||
import io.netty.handler.timeout.IdleStateEvent;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.mage.network.handlers.WriteListener;
|
||||
import org.mage.network.model.PingMessage;
|
||||
import org.mage.network.messages.PingMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@ import mage.remote.DisconnectReason;
|
|||
import org.apache.log4j.Logger;
|
||||
import org.mage.network.handlers.WriteListener;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.model.PingMessage;
|
||||
import org.mage.network.model.PongMessage;
|
||||
import org.mage.network.messages.PingMessage;
|
||||
import org.mage.network.messages.PongMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import io.netty.channel.ChannelHandlerContext;
|
|||
import io.netty.channel.SimpleChannelInboundHandler;
|
||||
import mage.remote.DisconnectReason;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.model.ServerRequest;
|
||||
import org.mage.network.messages.requests.ServerRequest;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
|
|||
|
|
@ -5,15 +5,15 @@ 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.GameClientMessage;
|
||||
import mage.view.GameEndView;
|
||||
import mage.view.GameView;
|
||||
import mage.view.UserRequestMessage;
|
||||
import org.mage.network.model.MessageType;
|
||||
import org.mage.network.messages.MessageType;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -36,6 +36,11 @@ public interface MageClient {
|
|||
void gameStarted(UUID gameId, UUID playerId);
|
||||
|
||||
void initGame(UUID gameId, GameView gameView);
|
||||
void gameUpdate(UUID gameId, GameView gameView);
|
||||
void gameInform(UUID gameId, GameClientMessage message);
|
||||
void gameInformPersonal(UUID gameId, GameClientMessage message);
|
||||
void gameOver(UUID gameId, String message);
|
||||
void gameError(UUID gameId, String message);
|
||||
|
||||
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);
|
||||
|
|
|
|||
|
|
@ -52,6 +52,7 @@ public interface MageServer {
|
|||
void sendPlayerInteger(UUID gameId, String sessionId, Integer data);
|
||||
void sendPlayerAction(PlayerAction playerAction, UUID gameId, String sessionId, Serializable data);
|
||||
|
||||
boolean submitDeck(String sessionId, UUID tableId, DeckCardLists deckList);
|
||||
void pingTime(long milliSeconds, String sessionId);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.view.ChatMessage;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages;
|
||||
|
||||
import java.io.Serializable;
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.view.GameView;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.view.AbilityPickerView;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.choices.Choice;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.view.CardsView;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.game.Table;
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
package org.mage.network.messages;
|
||||
|
||||
import java.util.UUID;
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class GameErrorMessage extends ClientMessage {
|
||||
private final UUID gameId;
|
||||
private final String message;
|
||||
|
||||
public GameErrorMessage(UUID gameId, String message) {
|
||||
this.gameId = gameId;
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(ClientMessageHandler handler) {
|
||||
handler.getClient().gameError(gameId, message);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
package org.mage.network.messages;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.view.GameClientMessage;
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class GameInformMessage extends ClientMessage {
|
||||
private final UUID gameId;
|
||||
private final GameClientMessage message;
|
||||
|
||||
public GameInformMessage(UUID gameId, GameClientMessage message) {
|
||||
this.gameId = gameId;
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(ClientMessageHandler handler) {
|
||||
handler.getClient().gameInform(gameId, message);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
package org.mage.network.messages;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.view.GameClientMessage;
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class GameInformPersonalMessage extends ClientMessage {
|
||||
private final UUID gameId;
|
||||
private final GameClientMessage message;
|
||||
|
||||
public GameInformPersonalMessage(UUID gameId, GameClientMessage message) {
|
||||
this.gameId = gameId;
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(ClientMessageHandler handler) {
|
||||
handler.getClient().gameInformPersonal(gameId, message);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.view.GameView;
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
package org.mage.network.messages;
|
||||
|
||||
import java.util.UUID;
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class GameOverMessage extends ClientMessage {
|
||||
private final UUID gameId;
|
||||
private final String message;
|
||||
|
||||
public GameOverMessage(UUID gameId, String message) {
|
||||
this.gameId = gameId;
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(ClientMessageHandler handler) {
|
||||
handler.getClient().gameOver(gameId, message);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.view.GameView;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.view.GameView;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages;
|
||||
|
||||
import java.util.UUID;
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Map;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages;
|
||||
|
||||
import java.util.UUID;
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Map;
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
package org.mage.network.messages;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.view.GameView;
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class GameUpdateMessage extends ClientMessage {
|
||||
private final UUID gameId;
|
||||
private final GameView view;
|
||||
|
||||
public GameUpdateMessage(UUID gameId, GameView view) {
|
||||
this.gameId = gameId;
|
||||
this.view = view;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(ClientMessageHandler handler) {
|
||||
handler.getClient().gameUpdate(gameId, view);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages;
|
||||
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages;
|
||||
|
||||
import java.util.UUID;
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.responses;
|
||||
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
import org.mage.network.messages.ClientMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.view.UserRequestMessage;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.requests;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import java.util.UUID;
|
||||
|
|
@ -1,9 +1,10 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.requests;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import java.util.UUID;
|
||||
import org.mage.network.handlers.WriteListener;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.messages.responses.ChatRoomIdMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -1,10 +1,11 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.requests;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import java.util.UUID;
|
||||
import mage.game.match.MatchOptions;
|
||||
import org.mage.network.handlers.WriteListener;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.messages.responses.CreateTableMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -1,9 +1,10 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.requests;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import java.util.UUID;
|
||||
import org.mage.network.handlers.WriteListener;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.messages.responses.RoomMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.requests;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import java.util.UUID;
|
||||
|
|
@ -1,9 +1,10 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.requests;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import java.util.UUID;
|
||||
import org.mage.network.handlers.WriteListener;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.messages.responses.JoinGameMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -1,10 +1,11 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.requests;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import java.util.UUID;
|
||||
import mage.cards.decks.DeckCardLists;
|
||||
import org.mage.network.handlers.WriteListener;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.messages.responses.JoinTableMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.requests;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import java.util.UUID;
|
||||
|
|
@ -1,9 +1,10 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.requests;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import java.util.UUID;
|
||||
import org.mage.network.handlers.WriteListener;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.messages.responses.LeftTableMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.requests;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import java.io.Serializable;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.requests;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import java.net.InetSocketAddress;
|
||||
|
|
@ -8,6 +8,7 @@ import mage.remote.DisconnectReason;
|
|||
import mage.utils.MageVersion;
|
||||
import org.mage.network.handlers.WriteListener;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.messages.responses.ClientRegisteredMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.requests;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import java.util.UUID;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.requests;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.requests;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import java.util.UUID;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.requests;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import java.util.UUID;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.requests;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import java.util.UUID;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.requests;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import java.util.UUID;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.requests;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import java.util.UUID;
|
||||
|
|
@ -1,8 +1,9 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.requests;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import org.mage.network.handlers.WriteListener;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.messages.responses.ServerMessagesMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.requests;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import java.io.Serializable;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.requests;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import mage.view.UserDataView;
|
||||
|
|
@ -1,9 +1,10 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.requests;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import java.util.UUID;
|
||||
import org.mage.network.handlers.WriteListener;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.messages.responses.StartMatchMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
package org.mage.network.messages.requests;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import java.util.UUID;
|
||||
import mage.cards.decks.DeckCardLists;
|
||||
import org.mage.network.handlers.WriteListener;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.messages.responses.SubmitDeckMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class SubmitDeckRequest extends ServerRequest {
|
||||
private final UUID tableId;
|
||||
private final DeckCardLists deckCardLists;
|
||||
|
||||
public SubmitDeckRequest(UUID tableId, DeckCardLists deckCardLists) {
|
||||
this.tableId = tableId;
|
||||
this.deckCardLists = deckCardLists;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(MageServer server, ChannelHandlerContext ctx) {
|
||||
ctx.writeAndFlush(new SubmitDeckMessage(server.submitDeck(ctx.channel().id().asLongText(), tableId, deckCardLists))).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.requests;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import java.util.UUID;
|
||||
|
|
@ -1,9 +1,10 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.requests;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import java.util.UUID;
|
||||
import org.mage.network.handlers.WriteListener;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.messages.responses.TableWaitingMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -1,7 +1,8 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.responses;
|
||||
|
||||
import java.util.UUID;
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
import org.mage.network.messages.ClientMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.responses;
|
||||
|
||||
import java.io.Serializable;
|
||||
import mage.interfaces.ServerState;
|
||||
|
|
@ -1,7 +1,8 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.responses;
|
||||
|
||||
import mage.view.TableView;
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
import org.mage.network.messages.ClientMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -1,7 +1,8 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.responses;
|
||||
|
||||
import java.util.UUID;
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
import org.mage.network.messages.ClientMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.responses;
|
||||
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
import org.mage.network.messages.ClientMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -1,7 +1,8 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.responses;
|
||||
|
||||
import mage.view.RoomView;
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
import org.mage.network.messages.ClientMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -1,7 +1,8 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.responses;
|
||||
|
||||
import java.util.List;
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
import org.mage.network.messages.ClientMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.responses;
|
||||
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
import org.mage.network.messages.ClientMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
package org.mage.network.messages.responses;
|
||||
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
import org.mage.network.messages.ClientMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class SubmitDeckMessage extends ClientMessage {
|
||||
|
||||
private boolean success;
|
||||
|
||||
public SubmitDeckMessage(boolean success) {
|
||||
this.success = success;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(ClientMessageHandler handler) {
|
||||
handler.receiveBoolean(success);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,7 +1,8 @@
|
|||
package org.mage.network.model;
|
||||
package org.mage.network.messages.responses;
|
||||
|
||||
import mage.view.TableView;
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
import org.mage.network.messages.ClientMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -42,7 +42,6 @@ import java.util.Set;
|
|||
import java.util.UUID;
|
||||
import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.ScheduledExecutorService;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.prefs.Preferences;
|
||||
import javax.swing.Box;
|
||||
import javax.swing.JOptionPane;
|
||||
|
|
@ -59,13 +58,14 @@ import mage.utils.MageVersion;
|
|||
import mage.view.AbilityPickerView;
|
||||
import mage.view.CardsView;
|
||||
import mage.view.ChatMessage;
|
||||
import mage.view.GameClientMessage;
|
||||
import mage.view.GameEndView;
|
||||
import mage.view.GameView;
|
||||
import mage.view.UserRequestMessage;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.mage.network.Client;
|
||||
import org.mage.network.interfaces.MageClient;
|
||||
import org.mage.network.model.MessageType;
|
||||
import org.mage.network.messages.MessageType;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -435,4 +435,29 @@ public class ConsoleFrame extends javax.swing.JFrame implements MageClient {
|
|||
public void userRequestDialog(UUID gameId, UserRequestMessage userRequestMessage) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameUpdate(UUID gameId, GameView gameView) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameInform(UUID gameId, GameClientMessage message) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameInformPersonal(UUID gameId, GameClientMessage message) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameOver(UUID gameId, String message) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameError(UUID gameId, String message) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ import mage.utils.MageVersion;
|
|||
import mage.view.AbilityPickerView;
|
||||
import mage.view.CardsView;
|
||||
import mage.view.ChatMessage;
|
||||
import mage.view.GameClientMessage;
|
||||
import mage.view.GameEndView;
|
||||
import mage.view.GameView;
|
||||
import mage.view.RoomView;
|
||||
|
|
@ -23,7 +24,7 @@ import mage.view.UserDataView;
|
|||
import mage.view.UserRequestMessage;
|
||||
import org.mage.network.Client;
|
||||
import org.mage.network.interfaces.MageClient;
|
||||
import org.mage.network.model.MessageType;
|
||||
import org.mage.network.messages.MessageType;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -181,4 +182,29 @@ public class TestClient implements MageClient {
|
|||
public boolean joinTable(UUID roomId, UUID tableId, String playerName, String playerType, int skill, DeckCardLists deck, String password) {
|
||||
return client.joinTable(roomId, tableId, playerName, playerType, skill, deck, password);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameUpdate(UUID gameId, GameView gameView) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameInform(UUID gameId, GameClientMessage message) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameInformPersonal(UUID gameId, GameClientMessage message) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameOver(UUID gameId, String message) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameError(UUID gameId, String message) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -73,6 +73,7 @@ import mage.view.AbilityPickerView;
|
|||
import mage.view.CardsView;
|
||||
import mage.view.ChatMessage;
|
||||
import mage.view.ChatMessage.MessageColor;
|
||||
import mage.view.GameClientMessage;
|
||||
import mage.view.GameEndView;
|
||||
import mage.view.GameView;
|
||||
import mage.view.RoomView;
|
||||
|
|
@ -83,7 +84,7 @@ import org.apache.commons.lang3.StringEscapeUtils;
|
|||
import org.apache.log4j.Logger;
|
||||
import org.mage.network.Server;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.model.MessageType;
|
||||
import org.mage.network.messages.MessageType;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -321,20 +322,16 @@ public class ServerMain implements MageServer {
|
|||
// }
|
||||
// });
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public boolean submitDeck(final String sessionId, final UUID tableId, final DeckCardLists deckList) throws MageException, GameException {
|
||||
// return executeWithResult("submitDeck", sessionId, new ActionWithBooleanResult() {
|
||||
// @Override
|
||||
// public Boolean execute() throws MageException {
|
||||
// UUID userId = SessionManager.getInstance().getSession(sessionId).getUserId();
|
||||
// boolean ret = TableManager.getInstance().submitDeck(userId, tableId, deckList);
|
||||
// logger.debug("Session " + sessionId + " submitted deck");
|
||||
// return ret;
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
//
|
||||
|
||||
@Override
|
||||
public boolean submitDeck(final String sessionId, final UUID tableId, final DeckCardLists deckList) {
|
||||
UUID userId = SessionManager.getInstance().getSession(sessionId).getUserId();
|
||||
boolean ret = TableManager.getInstance().submitDeck(userId, tableId, deckList);
|
||||
if (ret)
|
||||
logger.debug("Session " + sessionId + " submitted deck");
|
||||
return ret;
|
||||
}
|
||||
|
||||
// @Override
|
||||
// public void updateDeck(final String sessionId, final UUID tableId, final DeckCardLists deckList) throws MageException, GameException {
|
||||
// execute("updateDeck", sessionId, new Action() {
|
||||
|
|
@ -1255,4 +1252,24 @@ public class ServerMain implements MageServer {
|
|||
server.userRequestDialog(sessionId, gameId, userRequestMessage);
|
||||
}
|
||||
|
||||
public void gameUpdate(String sessionId, UUID gameId, GameView view) {
|
||||
server.gameUpdate(sessionId, gameId, view);
|
||||
}
|
||||
|
||||
public void gameInform(String sessionId, UUID gameId, GameClientMessage message) {
|
||||
server.gameInform(sessionId, gameId, message);
|
||||
}
|
||||
|
||||
public void gameInformPersonal(String sessionId, UUID gameId, GameClientMessage message) {
|
||||
server.gameInformPersonal(sessionId, gameId, message);
|
||||
}
|
||||
|
||||
public void gameOver(String sessionId, UUID gameId, String message) {
|
||||
server.gameOver(sessionId, gameId, message);
|
||||
}
|
||||
|
||||
public void gameError(String sessionId, UUID gameId, String message) {
|
||||
server.gameError(sessionId, gameId, message);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ import mage.server.services.LogKeys;
|
|||
import mage.server.services.impl.LogServiceImpl;
|
||||
import mage.view.UserDataView;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.mage.network.model.MessageType;
|
||||
import org.mage.network.messages.MessageType;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
|
|||
|
|
@ -38,7 +38,6 @@ import java.util.concurrent.TimeUnit;
|
|||
import mage.MageException;
|
||||
import mage.cards.decks.Deck;
|
||||
import mage.cards.decks.DeckCardLists;
|
||||
import mage.cards.decks.InvalidDeckException;
|
||||
import mage.constants.RangeOfInfluence;
|
||||
import mage.constants.TableState;
|
||||
import mage.game.Game;
|
||||
|
|
@ -346,7 +345,7 @@ public class TableController {
|
|||
}
|
||||
}
|
||||
|
||||
public synchronized boolean submitDeck(UUID userId, DeckCardLists deckList) throws MageException {
|
||||
public synchronized boolean submitDeck(UUID userId, DeckCardLists deckList) {
|
||||
UUID playerId = userPlayerMap.get(userId);
|
||||
if (table.isTournament()) {
|
||||
TournamentPlayer player = tournament.getPlayer(playerId);
|
||||
|
|
@ -370,7 +369,16 @@ public class TableController {
|
|||
if (table.getState() != TableState.SIDEBOARDING && table.getState() != TableState.CONSTRUCTING) {
|
||||
return false;
|
||||
}
|
||||
Deck deck = Deck.load(deckList, false, false);
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
Deck deck;
|
||||
try {
|
||||
deck = Deck.load(deckList, false, false);
|
||||
}
|
||||
catch (GameException ex) {
|
||||
logger.error("Error loading deck", ex);
|
||||
user.showUserError("Submit deck", "Error loading deck");
|
||||
return false;
|
||||
}
|
||||
if (table.getState() == TableState.SIDEBOARDING && table.getMatch() != null) {
|
||||
MatchPlayer mPlayer = table.getMatch().getPlayer(playerId);
|
||||
if (mPlayer != null) {
|
||||
|
|
@ -378,7 +386,8 @@ public class TableController {
|
|||
}
|
||||
}
|
||||
if (!ServerMain.getInstance().isTestMode() && !table.getValidator().validate(deck)) {
|
||||
throw new InvalidDeckException("Invalid deck for this format", table.getValidator().getInvalid());
|
||||
user.showUserError("Submit deck", table.getValidator().getInvalidMessage());
|
||||
return false;
|
||||
}
|
||||
submitDeck(userId, playerId, deck);
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -33,7 +33,6 @@ import java.text.SimpleDateFormat;
|
|||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
|
@ -154,7 +153,7 @@ public class TableManager {
|
|||
return false;
|
||||
}
|
||||
|
||||
public boolean submitDeck(UUID userId, UUID tableId, DeckCardLists deckList) throws MageException {
|
||||
public boolean submitDeck(UUID userId, UUID tableId, DeckCardLists deckList) {
|
||||
if (controllers.containsKey(tableId)) {
|
||||
return controllers.get(tableId).submitDeck(userId, deckList);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,11 +28,9 @@
|
|||
package mage.server;
|
||||
|
||||
import java.io.Serializable;
|
||||
import mage.remote.DisconnectReason;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
|
|
@ -47,6 +45,7 @@ import mage.game.Table;
|
|||
import mage.game.tournament.TournamentPlayer;
|
||||
import mage.interfaces.callback.ClientCallback;
|
||||
import mage.players.net.UserData;
|
||||
import mage.remote.DisconnectReason;
|
||||
import mage.server.draft.DraftSession;
|
||||
import mage.server.game.GameManager;
|
||||
import mage.server.game.GameSessionPlayer;
|
||||
|
|
@ -56,12 +55,13 @@ import mage.server.tournament.TournamentSession;
|
|||
import mage.server.util.SystemUtil;
|
||||
import mage.view.AbilityPickerView;
|
||||
import mage.view.CardsView;
|
||||
import mage.view.GameClientMessage;
|
||||
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;
|
||||
import org.mage.network.messages.MessageType;
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -254,6 +254,26 @@ public class User {
|
|||
ServerMain.getInstance().userRequestDialog(sessionId, gameId, userRequestMessage);
|
||||
}
|
||||
|
||||
public void gameUpdate(UUID gameId, GameView view) {
|
||||
ServerMain.getInstance().gameUpdate(sessionId, gameId, view);
|
||||
}
|
||||
|
||||
public void gameInform(UUID gameId, GameClientMessage message) {
|
||||
ServerMain.getInstance().gameInform(sessionId, gameId, message);
|
||||
}
|
||||
|
||||
public void gameInformPersonal(UUID gameId, GameClientMessage message) {
|
||||
ServerMain.getInstance().gameInformPersonal(sessionId, gameId, message);
|
||||
}
|
||||
|
||||
public void gameOver(UUID gameId, String message) {
|
||||
ServerMain.getInstance().gameOver(sessionId, gameId, message);
|
||||
}
|
||||
|
||||
public void gameError(UUID gameId, String message) {
|
||||
ServerMain.getInstance().gameError(sessionId, gameId, message);
|
||||
}
|
||||
|
||||
public void ccDraftStarted(final UUID draftId, final UUID playerId) {
|
||||
fireCallback(new ClientCallback("startDraft", draftId, new TableClientMessage(draftId, playerId)));
|
||||
}
|
||||
|
|
@ -280,13 +300,13 @@ public class User {
|
|||
}
|
||||
|
||||
public void showUserMessage(final String title, String message) {
|
||||
// List<String> messageData = new LinkedList<>();
|
||||
// messageData.add(titel);
|
||||
// messageData.add(message);
|
||||
// fireCallback(new ClientCallback("showUserMessage", null, messageData ));
|
||||
ServerMain.getInstance().informClient(sessionId, title, message, MessageType.INFORMATION);
|
||||
}
|
||||
|
||||
public void showUserError(final String title, String message) {
|
||||
ServerMain.getInstance().informClient(sessionId, title, message, MessageType.ERROR);
|
||||
}
|
||||
|
||||
public boolean ccWatchGame(final UUID gameId) {
|
||||
fireCallback(new ClientCallback("watchGame", gameId));
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -33,7 +33,6 @@ import java.util.Map;
|
|||
import java.util.UUID;
|
||||
import mage.game.Game;
|
||||
import mage.game.Table;
|
||||
import mage.interfaces.callback.ClientCallback;
|
||||
import mage.players.Player;
|
||||
import mage.server.User;
|
||||
import mage.server.UserManager;
|
||||
|
|
@ -78,7 +77,7 @@ public class GameSessionWatcher {
|
|||
if (!killed) {
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
if (user != null) {
|
||||
user.fireCallback(new ClientCallback("gameUpdate", game.getId(), getGameView()));
|
||||
user.gameUpdate(game.getId(), getGameView());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -87,7 +86,7 @@ public class GameSessionWatcher {
|
|||
if (!killed) {
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
if (user != null) {
|
||||
user.fireCallback(new ClientCallback("gameInform", game.getId(), new GameClientMessage(getGameView(), message)));
|
||||
user.gameInform(game.getId(), new GameClientMessage(getGameView(), message));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -96,7 +95,7 @@ public class GameSessionWatcher {
|
|||
if (!killed) {
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
if (user != null) {
|
||||
user.fireCallback(new ClientCallback("gameInformPersonal", game.getId(), new GameClientMessage(getGameView(), message)));
|
||||
user.gameInformPersonal(game.getId(), new GameClientMessage(getGameView(), message));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -106,7 +105,7 @@ public class GameSessionWatcher {
|
|||
User user = UserManager.getInstance().getUser(userId);
|
||||
if (user != null) {
|
||||
user.removeGameWatchInfo(game.getId());
|
||||
user.fireCallback(new ClientCallback("gameOver", game.getId(), message));
|
||||
user.gameOver(game.getId(), message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -123,7 +122,7 @@ public class GameSessionWatcher {
|
|||
if (!killed) {
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
if (user != null) {
|
||||
user.fireCallback(new ClientCallback("gameError", game.getId(), message));
|
||||
user.gameError(game.getId(), message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -67,4 +67,14 @@ public abstract class DeckValidator implements Serializable {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
public String getInvalidMessage() {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("Invalid deck for this format").append("\n");
|
||||
for (Map.Entry<String, String> entry: invalid.entrySet()) {
|
||||
sb.append(entry.getKey()).append(" ").append(entry.getValue()).append("\n");
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue