diff --git a/Mage.Client/src/mage/client/MageFrame.form b/Mage.Client/src/mage/client/MageFrame.form index b4d95950829..1a0cbca8ac7 100644 --- a/Mage.Client/src/mage/client/MageFrame.form +++ b/Mage.Client/src/mage/client/MageFrame.form @@ -25,8 +25,8 @@ - - + + @@ -34,7 +34,7 @@ - + @@ -182,7 +182,7 @@ - + diff --git a/Mage.Client/src/mage/client/MageFrame.java b/Mage.Client/src/mage/client/MageFrame.java index 4d4e998ba95..cf49ad99fbc 100644 --- a/Mage.Client/src/mage/client/MageFrame.java +++ b/Mage.Client/src/mage/client/MageFrame.java @@ -117,11 +117,11 @@ public class MageFrame extends javax.swing.JFrame { this.gamePane.watchGame(gameId); } - public void replayGame(UUID gameId) { + public void replayGame() { this.tablesPane.hideTables(); this.tablesPane.setVisible(false); this.gamePane.setVisible(true); - this.gamePane.replayGame(gameId); + this.gamePane.replayGame(); } /** This method is called from within the constructor to @@ -242,7 +242,7 @@ public class MageFrame extends javax.swing.JFrame { }); mageToolbar.add(btnExit); - lblStatus.setText("Not connected"); + lblStatus.setText("Not connected "); mageToolbar.add(Box.createHorizontalGlue()); mageToolbar.add(lblStatus); @@ -250,15 +250,15 @@ public class MageFrame extends javax.swing.JFrame { getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(desktopPane, javax.swing.GroupLayout.DEFAULT_SIZE, 1066, Short.MAX_VALUE) - .addComponent(mageToolbar, javax.swing.GroupLayout.DEFAULT_SIZE, 1066, Short.MAX_VALUE) + .addComponent(desktopPane, javax.swing.GroupLayout.DEFAULT_SIZE, 1144, Short.MAX_VALUE) + .addComponent(mageToolbar, javax.swing.GroupLayout.DEFAULT_SIZE, 1144, Short.MAX_VALUE) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(mageToolbar, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 0, 0) - .addComponent(desktopPane, javax.swing.GroupLayout.DEFAULT_SIZE, 840, Short.MAX_VALUE)) + .addComponent(desktopPane, javax.swing.GroupLayout.DEFAULT_SIZE, 880, Short.MAX_VALUE)) ); pack(); diff --git a/Mage.Client/src/mage/client/cards/Card.java b/Mage.Client/src/mage/client/cards/Card.java index 10d30b6b2d6..a6c3b17c2d2 100644 --- a/Mage.Client/src/mage/client/cards/Card.java +++ b/Mage.Client/src/mage/client/cards/Card.java @@ -166,14 +166,14 @@ public class Card extends javax.swing.JPanel implements MouseMotionListener, Mou protected String getText(String cardType) { StringBuilder sb = new StringBuilder(); - sb.append(card.getName()).append("\n"); + sb.append(card.getName()); if (card.getManaCost().size() > 0) { - sb.append(card.getManaCost()).append("\n"); + sb.append("\n").append(card.getManaCost()); } - sb.append(cardType).append("\n"); - sb.append(card.getColor().toString()).append("\n"); + sb.append("\n").append(cardType); + sb.append("\n").append(card.getColor().toString()); for (String rule: getRules()) { - sb.append(rule).append("\n"); + sb.append("\n").append(rule); } if (card.getCardTypes().contains(CardType.CREATURE)) { sb.append(card.getPower()).append("/").append(card.getToughness()); diff --git a/Mage.Client/src/mage/client/chat/ChatPanel.java b/Mage.Client/src/mage/client/chat/ChatPanel.java index c4a400a741b..237d52bda05 100644 --- a/Mage.Client/src/mage/client/chat/ChatPanel.java +++ b/Mage.Client/src/mage/client/chat/ChatPanel.java @@ -74,6 +74,11 @@ public class ChatPanel extends javax.swing.JPanel { txtConversation.setCaretPosition(txtConversation.getText().length() - 1); } + public void clear() { + this.txtConversation.selectAll(); + this.txtConversation.replaceSelection(""); + } + /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is diff --git a/Mage.Client/src/mage/client/dialog/NewTableDialog.form b/Mage.Client/src/mage/client/dialog/NewTableDialog.form index 5ed6063aae3..965376265a1 100644 --- a/Mage.Client/src/mage/client/dialog/NewTableDialog.form +++ b/Mage.Client/src/mage/client/dialog/NewTableDialog.form @@ -80,7 +80,7 @@ - + diff --git a/Mage.Client/src/mage/client/dialog/NewTableDialog.java b/Mage.Client/src/mage/client/dialog/NewTableDialog.java index c0fe272497f..846b804a423 100644 --- a/Mage.Client/src/mage/client/dialog/NewTableDialog.java +++ b/Mage.Client/src/mage/client/dialog/NewTableDialog.java @@ -64,13 +64,6 @@ public class NewTableDialog extends MageDialog { public NewTableDialog() { initComponents(); this.player2Panel.setVisible(false); - //for testing only -// this.player1Panel.setPlayerName("human"); -// this.player2Panel.setPlayerName("computer"); -// //this.cbPlayer2Type.setSelectedItem(PlayerType.COMPUTER); -// this.player2Panel.setVisible(true); -// this.player1Panel.setDeckFile("test.dck"); -// this.player2Panel.setDeckFile("test.dck"); } @@ -206,31 +199,20 @@ public class NewTableDialog extends MageDialog { List playerTypes = new ArrayList(); playerTypes.add("Human"); playerTypes.add((String) this.cbPlayer2Type.getSelectedItem()); - table = session.createTable( - roomId, - (String)this.cbGameType.getSelectedItem(), - (String)this.cbDeckType.getSelectedItem(), - playerTypes - ); - if (session.joinTable( - roomId, - table.getTableId(), - 0, - this.player1Panel.getPlayerName(), - DeckCardLists.load(this.player1Panel.getDeckFile()) - )) { + table = session.createTable(roomId, (String)this.cbGameType.getSelectedItem(), (String)this.cbDeckType.getSelectedItem(), playerTypes); + if (session.joinTable(roomId, table.getTableId(), 0, this.player1Panel.getPlayerName(), DeckCardLists.load(this.player1Panel.getDeckFile()))) { if (!this.cbPlayer2Type.getSelectedItem().equals("Human")) { - if (session.joinTable( - roomId, - table.getTableId(), - 1, - this.player2Panel.getPlayerName(), - DeckCardLists.load(this.player2Panel.getDeckFile()) - )) { + if (session.joinTable(roomId, table.getTableId(), 1, this.player2Panel.getPlayerName(), DeckCardLists.load(this.player2Panel.getDeckFile()))) { this.setVisible(false); return; } + JOptionPane.showMessageDialog(MageFrame.getDesktop(), "Error joining table.", "Error", JOptionPane.ERROR_MESSAGE); } + else { + this.setVisible(false); + return; + } + JOptionPane.showMessageDialog(MageFrame.getDesktop(), "Error joining table.", "Error", JOptionPane.ERROR_MESSAGE); } } catch (Exception ex) { handleError(ex); diff --git a/Mage.Client/src/mage/client/game/GamePane.java b/Mage.Client/src/mage/client/game/GamePane.java index bb98dfc626d..c3fce45cfdd 100644 --- a/Mage.Client/src/mage/client/game/GamePane.java +++ b/Mage.Client/src/mage/client/game/GamePane.java @@ -56,8 +56,8 @@ public class GamePane extends MagePane { gamePanel.watchGame(gameId); } - public void replayGame(UUID gameId) { - gamePanel.replayGame(gameId); + public void replayGame() { + gamePanel.replayGame(); } /** This method is called from within the constructor to diff --git a/Mage.Client/src/mage/client/game/GamePanel.form b/Mage.Client/src/mage/client/game/GamePanel.form index c2479912d30..04430013ba4 100644 --- a/Mage.Client/src/mage/client/game/GamePanel.form +++ b/Mage.Client/src/mage/client/game/GamePanel.form @@ -36,9 +36,14 @@ - + + + + + + @@ -58,7 +63,7 @@ - + @@ -66,7 +71,7 @@ - + @@ -158,7 +163,7 @@ - + @@ -394,7 +399,7 @@ - + @@ -418,6 +423,11 @@ + + + + + diff --git a/Mage.Client/src/mage/client/game/GamePanel.java b/Mage.Client/src/mage/client/game/GamePanel.java index 411ccec335e..c9020042d90 100644 --- a/Mage.Client/src/mage/client/game/GamePanel.java +++ b/Mage.Client/src/mage/client/game/GamePanel.java @@ -89,6 +89,7 @@ public class GamePanel extends javax.swing.JPanel { this.pnlReplay.setVisible(false); this.btnStopWatching.setVisible(false); this.setVisible(true); + this.chatPanel.clear(); this.chatPanel.connect(session.getGameChatId(gameId)); if (!session.joinGame(gameId)) hideGame(); @@ -102,22 +103,25 @@ public class GamePanel extends javax.swing.JPanel { this.feedbackPanel.clear(); this.btnConcede.setVisible(false); this.btnStopWatching.setVisible(true); + this.btnCheat.setVisible(false); this.pnlReplay.setVisible(false); this.setVisible(true); + this.chatPanel.clear(); this.chatPanel.connect(session.getGameChatId(gameId)); if (!session.watchGame(gameId)) hideGame(); } - public synchronized void replayGame(UUID gameId) { - this.gameId = gameId; + public synchronized void replayGame() { session = MageFrame.getSession(); session.setGame(this); this.feedbackPanel.clear(); this.btnConcede.setVisible(false); this.btnStopWatching.setVisible(false); + this.btnCheat.setVisible(false); this.pnlReplay.setVisible(true); this.setVisible(true); + this.chatPanel.clear(); if (!session.replayGame()) hideGame(); } @@ -132,6 +136,7 @@ public class GamePanel extends javax.swing.JPanel { public synchronized void init(GameView game) { combat.init(gameId, bigCard); + combat.setLocation(300, 200); MageFrame.getDesktop().add(combat, JLayeredPane.PALETTE_LAYER); this.players.clear(); this.pnlBattlefield.removeAll(); @@ -169,7 +174,6 @@ public class GamePanel extends javax.swing.JPanel { } if (game.getCombat().size() > 0) { combat.showDialog(game.getCombat()); - combat.setLocation(300, 200); } else { combat.hideDialog(); @@ -230,7 +234,7 @@ public class GamePanel extends javax.swing.JPanel { } public void pickAbility(AbilityPickerView choices) { - this.abilityPicker.show(choices, MouseInfo.getPointerInfo().getLocation()); + this.abilityPicker.show(choices, MageFrame.getDesktop().getMousePosition()); } public void revealCards(String name, CardsView cards) { @@ -297,9 +301,10 @@ public class GamePanel extends javax.swing.JPanel { pnlBattlefield = new javax.swing.JPanel(); chatPanel = new mage.client.chat.ChatPanel(); - jSplitPane1.setDividerLocation(1000); + jSplitPane1.setBorder(null); jSplitPane1.setDividerSize(3); jSplitPane1.setResizeWeight(1.0); + jSplitPane1.setMinimumSize(new java.awt.Dimension(26, 48)); pnlGameInfo.setBorder(javax.swing.BorderFactory.createEtchedBorder()); @@ -467,7 +472,7 @@ public class GamePanel extends javax.swing.JPanel { .addComponent(stack, javax.swing.GroupLayout.PREFERRED_SIZE, 209, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 0, 0) .addComponent(bigCard, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 8, Short.MAX_VALUE) .addComponent(pnlReplay, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(pnlGameInfoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) @@ -482,7 +487,7 @@ public class GamePanel extends javax.swing.JPanel { pnlHand.setLayout(pnlHandLayout); pnlHandLayout.setHorizontalGroup( pnlHandLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(hand, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 735, Short.MAX_VALUE) + .addComponent(hand, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 661, Short.MAX_VALUE) ); pnlHandLayout.setVerticalGroup( pnlHandLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) @@ -500,18 +505,20 @@ public class GamePanel extends javax.swing.JPanel { .addGap(0, 0, 0) .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(pnlHand, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(pnlBattlefield, javax.swing.GroupLayout.DEFAULT_SIZE, 739, Short.MAX_VALUE))) + .addComponent(pnlBattlefield, javax.swing.GroupLayout.DEFAULT_SIZE, 665, Short.MAX_VALUE))) ); jPanel3Layout.setVerticalGroup( jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup() - .addComponent(pnlBattlefield, javax.swing.GroupLayout.DEFAULT_SIZE, 632, Short.MAX_VALUE) + .addComponent(pnlBattlefield, javax.swing.GroupLayout.DEFAULT_SIZE, 634, Short.MAX_VALUE) .addGap(0, 0, 0) .addComponent(pnlHand, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(pnlGameInfo, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) ); jSplitPane1.setLeftComponent(jPanel3); + + chatPanel.setMinimumSize(new java.awt.Dimension(100, 48)); jSplitPane1.setRightComponent(chatPanel); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); diff --git a/Mage.Client/src/mage/client/remote/Client.java b/Mage.Client/src/mage/client/remote/Client.java index 4346940a285..bac034e6914 100644 --- a/Mage.Client/src/mage/client/remote/Client.java +++ b/Mage.Client/src/mage/client/remote/Client.java @@ -69,7 +69,7 @@ public class Client implements CallbackClient { gameStarted(data[0], data[1]); } else if (callback.getMethod().equals("replayGame")) { - replayGame((UUID) callback.getData()); + replayGame(); } else if (callback.getMethod().equals("watchGame")) { watchGame((UUID) callback.getData()); @@ -158,9 +158,9 @@ public class Client implements CallbackClient { logger.info("Watching game " + gameId); } - protected void replayGame(UUID gameId) { - frame.replayGame(gameId); - logger.info("Replaying game " + gameId); + protected void replayGame() { + frame.replayGame(); + logger.info("Replaying game"); } } diff --git a/Mage.Client/src/mage/client/remote/Session.java b/Mage.Client/src/mage/client/remote/Session.java index 2ed6cb77ac9..fe9e6388b0b 100644 --- a/Mage.Client/src/mage/client/remote/Session.java +++ b/Mage.Client/src/mage/client/remote/Session.java @@ -92,7 +92,7 @@ public class Session { gameTypes = server.getGameTypes(); deckTypes = server.getDeckTypes(); logger.info("Connected to RMI server at " + serverName + ":" + port); - frame.setStatusText("Connected to " + serverName + ":" + port); + frame.setStatusText("Connected to " + serverName + ":" + port + " "); frame.enableButtons(); } catch (MageException ex) { Logger.getLogger(Session.class.getName()).log(Level.SEVERE, null, ex); @@ -115,7 +115,7 @@ public class Session { } catch (MageException ex) { logger.log(Level.SEVERE, "Error disconnecting ...", ex); } - frame.setStatusText("Not connected"); + frame.setStatusText("Not connected "); } }