diff --git a/Mage.Client/src/main/java/mage/client/MageFrame.java b/Mage.Client/src/main/java/mage/client/MageFrame.java index 57524cfcd4b..1bd8cf5fd27 100644 --- a/Mage.Client/src/main/java/mage/client/MageFrame.java +++ b/Mage.Client/src/main/java/mage/client/MageFrame.java @@ -166,7 +166,7 @@ public class MageFrame extends javax.swing.JFrame implements MageClient { private static final Preferences prefs = Preferences.userNodeForPackage(MageFrame.class); private JLabel title; private Rectangle titleRectangle; - private static final MageVersion version = new MageVersion(MageVersion.MAGE_VERSION_MAJOR, MageVersion.MAGE_VERSION_MINOR, MageVersion.MAGE_VERSION_PATCH, MageVersion.MAGE_VERSION_MINOR_PATCH, MageVersion.MAGE_VERSION_INFO); + private static final MageVersion version = MageVersion.getCurrent(); private UUID clientId; private static MagePane activeFrame; private static boolean liteMode = false; diff --git a/Mage.Common/src/mage/utils/MageVersion.java b/Mage.Common/src/mage/utils/MageVersion.java index 15109980eb0..b16e802981c 100644 --- a/Mage.Common/src/mage/utils/MageVersion.java +++ b/Mage.Common/src/mage/utils/MageVersion.java @@ -51,6 +51,7 @@ public class MageVersion implements Serializable, Comparable { private final String minorPatch; // doesn't matter for compatibility private String info = ""; + private static MageVersion currentVersion = new MageVersion(MAGE_VERSION_MAJOR, MAGE_VERSION_MINOR, MAGE_VERSION_PATCH, MAGE_VERSION_MINOR_PATCH, MAGE_VERSION_INFO); public MageVersion(int major, int minor, int patch, String minorPatch, String info) { this.major = major; @@ -61,7 +62,7 @@ public class MageVersion implements Serializable, Comparable { } public static MageVersion getCurrent() { - return new MageVersion(MAGE_VERSION_MAJOR, MAGE_VERSION_MINOR, MAGE_VERSION_PATCH, MAGE_VERSION_MINOR_PATCH, MAGE_VERSION_INFO); + return currentVersion; } public int getMajor() { diff --git a/Mage.Network/src/main/java/org/mage/network/Client.java b/Mage.Network/src/main/java/org/mage/network/Client.java index 13c1039cd8b..09d1ac95be7 100644 --- a/Mage.Network/src/main/java/org/mage/network/Client.java +++ b/Mage.Network/src/main/java/org/mage/network/Client.java @@ -204,7 +204,11 @@ public class Client { } public void updateDeck(UUID tableId, DeckCardLists deckCardLists) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + try { + clientMessageHandler.updateDeck(tableId, deckCardLists); + } catch (Exception ex) { + logger.error("Error updating deck", ex); + } } public boolean sendFeedback(String title, String type, String message, String email) { diff --git a/Mage.Network/src/main/java/org/mage/network/Server.java b/Mage.Network/src/main/java/org/mage/network/Server.java index f1e24a0fca0..05c95622ab4 100644 --- a/Mage.Network/src/main/java/org/mage/network/Server.java +++ b/Mage.Network/src/main/java/org/mage/network/Server.java @@ -28,9 +28,13 @@ import mage.choices.Choice; import mage.view.AbilityPickerView; import mage.view.CardsView; import mage.view.ChatMessage; +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.TournamentView; import mage.view.UserRequestMessage; import org.apache.log4j.Logger; import org.mage.network.handlers.ExceptionHandler; @@ -40,6 +44,8 @@ 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.messages.MessageType; +import org.mage.network.messages.PingMessage; import org.mage.network.messages.callback.ChatMessageCallback; import org.mage.network.messages.callback.GameAskCallback; import org.mage.network.messages.callback.GameChooseAbilityCallback; @@ -60,8 +66,6 @@ import org.mage.network.messages.callback.GameTargetCallback; import org.mage.network.messages.callback.GameUpdateCallback; import org.mage.network.messages.callback.InformClientCallback; import org.mage.network.messages.callback.JoinedTableCallback; -import org.mage.network.messages.MessageType; -import org.mage.network.messages.PingMessage; import org.mage.network.messages.callback.UserRequestDialogCallback; /** @@ -293,5 +297,80 @@ public class Server { if (ch != null) ch.writeAndFlush(new GameErrorCallback(gameId, message)).addListener(WriteListener.getInstance()); } + + public void showGameEndDialog(String sessionId, UUID gameId) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + public void startDraft(String sessionId, UUID draftId, TableClientMessage tableClientMessage) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + public void draftInit(String sessionId, UUID draftId, DraftClientMessage draftClientMessage) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + public void draftUpdate(String sessionId, UUID draftId, DraftView draftView) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + public void draftInform(String sessionId, UUID draftId, DraftClientMessage draftClientMessage) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + public void draftOver(String sessionId, UUID draftId) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + public void draftPick(String sessionId, UUID draftId, DraftClientMessage draftClientMessage) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + public void sideboard(String sessionId, UUID tableId, TableClientMessage tableClientMessage) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + public void construct(String sessionId, UUID tableId, TableClientMessage tableClientMessage) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + public void startTournament(String sessionId, UUID tournamentId, TableClientMessage tableClientMessage) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + public void showTournament(String sessionId, UUID tournamentId) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + public void tournamentInit(String sessionId, UUID tournamentId, TournamentView tournamentView) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + public void tournamentUpdate(String sessionId, UUID tournamentId, TournamentView tournamentView) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + public void tournamentOver(String sessionId, UUID tournamentId) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + public void watchGame(String sessionId, UUID gameId) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + public void replayGame(String sessionId, UUID gameId) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + public void replayInit(String sessionId, UUID gameId, GameView gameView) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + public void replayDone(String sessionId, UUID gameId, String result) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + public void replayUpdate(String sessionId, UUID gameId, GameView gameView) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } } diff --git a/Mage.Network/src/main/java/org/mage/network/handlers/client/ClientMessageHandler.java b/Mage.Network/src/main/java/org/mage/network/handlers/client/ClientMessageHandler.java index 6e307c45e99..1c8f36f99be 100644 --- a/Mage.Network/src/main/java/org/mage/network/handlers/client/ClientMessageHandler.java +++ b/Mage.Network/src/main/java/org/mage/network/handlers/client/ClientMessageHandler.java @@ -16,9 +16,9 @@ import mage.view.TableView; import mage.view.UserDataView; import org.mage.network.handlers.WriteListener; import org.mage.network.interfaces.MageClient; +import org.mage.network.messages.ClientMessage; 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; @@ -40,6 +40,7 @@ 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; +import org.mage.network.messages.requests.UpdateDeckRequest; /** * @@ -130,6 +131,10 @@ public class ClientMessageHandler extends SimpleChannelInboundHandler entry : userTournaments.entrySet()) { TournamentController tournamentController = TournamentManager.getInstance().getTournamentController(entry.getValue()); if (tournamentController != null) { - ccTournamentStarted(entry.getValue(), entry.getKey()); + tournamentStarted(entry.getValue(), entry.getKey()); tournamentController.rejoin(entry.getKey()); } } @@ -382,7 +433,7 @@ public class User { } for (Entry entry : draftSessions.entrySet()) { - ccDraftStarted(entry.getValue().getDraftId(), entry.getKey()); + draftStarted(entry.getValue().getDraftId(), entry.getKey()); entry.getValue().init(); entry.getValue().update(); } @@ -392,7 +443,7 @@ public class User { } for (Entry entry : sideboarding.entrySet()) { TableController controller = TableManager.getInstance().getController(entry.getKey()); - ccSideboard(entry.getValue(), entry.getKey(), controller.getRemainingTime(), controller.getOptions().isLimited()); + sideboard(entry.getValue(), entry.getKey(), controller.getRemainingTime(), controller.getOptions().isLimited()); } } diff --git a/Mage.Server/src/main/java/mage/server/draft/DraftSession.java b/Mage.Server/src/main/java/mage/server/draft/DraftSession.java index 7a7d045fc1d..fef9e0ed44e 100644 --- a/Mage.Server/src/main/java/mage/server/draft/DraftSession.java +++ b/Mage.Server/src/main/java/mage/server/draft/DraftSession.java @@ -35,7 +35,6 @@ import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; import mage.game.draft.Draft; -import mage.interfaces.callback.ClientCallback; import mage.server.User; import mage.server.UserManager; import mage.server.util.ThreadExecutor; @@ -74,7 +73,7 @@ public class DraftSession { if (user != null) { if (futureTimeout != null && !futureTimeout.isDone()) { int remaining = (int) futureTimeout.getDelay(TimeUnit.SECONDS); - user.fireCallback(new ClientCallback("draftInit", draft.getId(), new DraftClientMessage(getDraftPickView(remaining)))); + user.draftInit(draft.getId(), new DraftClientMessage(getDraftPickView(remaining))); } return true; } @@ -86,7 +85,7 @@ public class DraftSession { if (!killed) { User user = UserManager.getInstance().getUser(userId); if (user != null) { - user.fireCallback(new ClientCallback("draftUpdate", draft.getId(), getDraftView())); + user.draftUpdate(draft.getId(), getDraftView()); } } } @@ -97,7 +96,7 @@ public class DraftSession { if (!killed) { User user = UserManager.getInstance().getUser(userId); if (user != null) { - user.fireCallback(new ClientCallback("draftInform", draft.getId(), new DraftClientMessage(getDraftView(), message))); + user.draftInform(draft.getId(), new DraftClientMessage(getDraftView(), message)); } } } @@ -106,7 +105,7 @@ public class DraftSession { if (!killed) { User user = UserManager.getInstance().getUser(userId); if (user != null) { - user.fireCallback(new ClientCallback("draftOver", draft.getId())); + user.draftOver(draft.getId()); } } } @@ -116,7 +115,7 @@ public class DraftSession { setupTimeout(timeout); User user = UserManager.getInstance().getUser(userId); if (user != null) { - user.fireCallback(new ClientCallback("draftPick", draft.getId(), new DraftClientMessage(getDraftPickView(timeout)))); + user.draftPick(draft.getId(), new DraftClientMessage(getDraftPickView(timeout))); } } } diff --git a/Mage.Server/src/main/java/mage/server/game/ReplayManager.java b/Mage.Server/src/main/java/mage/server/game/ReplayManager.java index fc08926ce68..99de309b811 100644 --- a/Mage.Server/src/main/java/mage/server/game/ReplayManager.java +++ b/Mage.Server/src/main/java/mage/server/game/ReplayManager.java @@ -50,7 +50,7 @@ public class ReplayManager { public void replayGame(UUID gameId, UUID userId) { ReplaySession replaySession = new ReplaySession(gameId, userId); replaySessions.put(gameId.toString() + userId.toString(), replaySession); - UserManager.getInstance().getUser(userId).ccReplayGame(gameId); + UserManager.getInstance().getUser(userId).replayGame(gameId); } public void startReplay(UUID gameId, UUID userId) { diff --git a/Mage.Server/src/main/java/mage/server/game/ReplaySession.java b/Mage.Server/src/main/java/mage/server/game/ReplaySession.java index c426fbe7db3..efe3fcb3040 100644 --- a/Mage.Server/src/main/java/mage/server/game/ReplaySession.java +++ b/Mage.Server/src/main/java/mage/server/game/ReplaySession.java @@ -31,7 +31,6 @@ package mage.server.game; import java.util.UUID; import mage.game.Game; import mage.game.GameState; -import mage.interfaces.callback.ClientCallback; import mage.server.User; import mage.server.UserManager; import mage.view.GameView; @@ -54,7 +53,7 @@ public class ReplaySession implements GameCallback { replay.start(); User user = UserManager.getInstance().getUser(userId); if (user != null) { - user.fireCallback(new ClientCallback("replayInit", replay.getGame().getId(), new GameView(replay.next(), replay.getGame(), null, null))); + user.replayInit(replay.getGame().getId(), new GameView(replay.next(), replay.getGame(), null, null)); } } @@ -81,7 +80,7 @@ public class ReplaySession implements GameCallback { public void gameResult(final String result) { User user = UserManager.getInstance().getUser(userId); if (user != null) { - user.fireCallback(new ClientCallback("replayDone", replay.getGame().getId(), result)); + user.replayDone(replay.getGame().getId(), result); } ReplayManager.getInstance().endReplay(replay.getGame().getId(), userId); } @@ -93,7 +92,7 @@ public class ReplaySession implements GameCallback { else { User user = UserManager.getInstance().getUser(userId); if (user != null) { - user.fireCallback(new ClientCallback("replayUpdate", replay.getGame().getId(), new GameView(state, game, null, null))); + user.replayUpdate(replay.getGame().getId(), new GameView(state, game, null, null)); } } } diff --git a/Mage.Server/src/main/java/mage/server/tournament/TournamentSession.java b/Mage.Server/src/main/java/mage/server/tournament/TournamentSession.java index 7f5abe13c7d..36cc0472fd1 100644 --- a/Mage.Server/src/main/java/mage/server/tournament/TournamentSession.java +++ b/Mage.Server/src/main/java/mage/server/tournament/TournamentSession.java @@ -30,14 +30,12 @@ package mage.server.tournament; import mage.cards.decks.Deck; import mage.game.tournament.Tournament; -import mage.interfaces.callback.ClientCallback; import mage.server.User; import mage.server.UserManager; import mage.server.util.ThreadExecutor; import mage.view.TournamentView; import org.apache.log4j.Logger; -import java.rmi.RemoteException; import java.util.UUID; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledFuture; @@ -70,7 +68,7 @@ public class TournamentSession { if (!killed) { User user = UserManager.getInstance().getUser(userId); if (user != null) { - user.fireCallback(new ClientCallback("tournamentInit", tournament.getId(), getTournamentView())); + user.tournamentInit(tournament.getId(), getTournamentView()); return true; } } @@ -81,7 +79,7 @@ public class TournamentSession { if (!killed) { User user = UserManager.getInstance().getUser(userId); if (user != null) { - user.fireCallback(new ClientCallback("tournamentUpdate", tournament.getId(), getTournamentView())); + user.tournamentUpdate(tournament.getId(), getTournamentView()); } } } @@ -90,7 +88,7 @@ public class TournamentSession { if (!killed) { User user = UserManager.getInstance().getUser(userId); if (user != null) { - user.fireCallback(new ClientCallback("tournamentOver", tournament.getId(), message)); + user.tournamentOver(tournament.getId(), message); } } } @@ -101,7 +99,7 @@ public class TournamentSession { User user = UserManager.getInstance().getUser(userId); if (user != null) { int remaining = (int) futureTimeout.getDelay(TimeUnit.SECONDS); - user.ccConstruct(tournament.getPlayer(playerId).getDeck(), tableId, remaining); + user.construct(tournament.getPlayer(playerId).getDeck(), tableId, remaining); } } }