diff --git a/Mage.Client/src/main/java/mage/client/cards/Cards.java b/Mage.Client/src/main/java/mage/client/cards/Cards.java index 474acf3a36e..69491e22978 100644 --- a/Mage.Client/src/main/java/mage/client/cards/Cards.java +++ b/Mage.Client/src/main/java/mage/client/cards/Cards.java @@ -56,7 +56,7 @@ public class Cards extends javax.swing.JPanel { private static final Logger logger = Logger.getLogger(Cards.class); - private Map cards = new LinkedHashMap(); + private final Map cards = new LinkedHashMap<>(); private boolean dontDisplayTapped = false; private static final int GAP_X = 5; private String zone; @@ -89,10 +89,10 @@ public class Cards extends javax.swing.JPanel { } public void cleanUp() { - ActionCallback actionCallback = Plugins.getInstance().getActionCallback(); - if (actionCallback instanceof MageActionCallback) { - ((MageActionCallback) actionCallback).setCardPreviewComponent(null); - } +// ActionCallback actionCallback = Plugins.getInstance().getActionCallback(); +// if (actionCallback instanceof MageActionCallback) { +// ((MageActionCallback) actionCallback).setCardPreviewComponent(null); +// } } /** diff --git a/Mage.Client/src/main/java/mage/client/deckeditor/DeckEditorPanel.java b/Mage.Client/src/main/java/mage/client/deckeditor/DeckEditorPanel.java index 49cbe08915d..451fcf4063f 100644 --- a/Mage.Client/src/main/java/mage/client/deckeditor/DeckEditorPanel.java +++ b/Mage.Client/src/main/java/mage/client/deckeditor/DeckEditorPanel.java @@ -61,9 +61,7 @@ import mage.client.constants.Constants.DeckEditorMode; import static mage.client.constants.Constants.DeckEditorMode.Constructed; import static mage.client.constants.Constants.DeckEditorMode.Limited; import static mage.client.constants.Constants.DeckEditorMode.Sideboard; -import mage.client.constants.Constants.SortBy; import mage.client.dialog.AddLandDialog; -import mage.client.dialog.PreferencesDialog; import mage.client.plugins.adapters.MageActionCallback; import mage.client.plugins.impl.Plugins; import mage.client.util.Event; @@ -142,9 +140,9 @@ public class DeckEditorPanel extends javax.swing.JPanel { } this.cardSelector.cleanUp(); this.deckArea.cleanUp(); + this.remove(bigCard); this.bigCard = null; - ((MageActionCallback) Plugins.getInstance().getActionCallback()).setCardPreviewComponent(null); } public void showDeckEditor(DeckEditorMode mode, Deck deck, UUID tableId, int time) { diff --git a/Mage.Client/src/main/java/mage/client/game/BattlefieldPanel.java b/Mage.Client/src/main/java/mage/client/game/BattlefieldPanel.java index ac3c671bc60..51479ec8466 100644 --- a/Mage.Client/src/main/java/mage/client/game/BattlefieldPanel.java +++ b/Mage.Client/src/main/java/mage/client/game/BattlefieldPanel.java @@ -67,10 +67,10 @@ import mage.view.PermanentView; */ public class BattlefieldPanel extends javax.swing.JLayeredPane { - private final Map permanents = new LinkedHashMap(); + private final Map permanents = new LinkedHashMap<>(); private UUID gameId; private BigCard bigCard; - private final Map uiComponentsList = new HashMap(); + private final Map uiComponentsList = new HashMap<>(); protected Map battlefield; private Dimension cardDimension; @@ -118,12 +118,13 @@ public class BattlefieldPanel extends javax.swing.JLayeredPane { } permanents.clear(); Plugins.getInstance().sortPermanents(uiComponentsList, permanents.values()); + this.bigCard = null; } public void update(Map battlefield) { boolean changed = false; - List permanentsToAdd = new ArrayList(); + List permanentsToAdd = new ArrayList<>(); for (PermanentView permanent: battlefield.values()) { if (!permanents.containsKey(permanent.getId())) { permanentsToAdd.add(permanent); diff --git a/Mage.Client/src/main/java/mage/client/game/GamePanel.java b/Mage.Client/src/main/java/mage/client/game/GamePanel.java index 17e21805c1c..d865bb30b5e 100644 --- a/Mage.Client/src/main/java/mage/client/game/GamePanel.java +++ b/Mage.Client/src/main/java/mage/client/game/GamePanel.java @@ -50,7 +50,6 @@ import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.LinkedHashMap; -import java.util.List; import java.util.Map; import java.util.Set; import java.util.UUID; @@ -94,6 +93,16 @@ import mage.client.util.GameManager; import mage.client.util.PhaseManager; import mage.client.util.gui.ArrowBuilder; import mage.constants.PhaseStep; +import static mage.constants.PhaseStep.BEGIN_COMBAT; +import static mage.constants.PhaseStep.COMBAT_DAMAGE; +import static mage.constants.PhaseStep.DECLARE_ATTACKERS; +import static mage.constants.PhaseStep.DECLARE_BLOCKERS; +import static mage.constants.PhaseStep.DRAW; +import static mage.constants.PhaseStep.END_COMBAT; +import static mage.constants.PhaseStep.END_TURN; +import static mage.constants.PhaseStep.FIRST_COMBAT_DAMAGE; +import static mage.constants.PhaseStep.UNTAP; +import static mage.constants.PhaseStep.UPKEEP; import mage.remote.Session; import mage.view.AbilityPickerView; import mage.view.CardsView; @@ -116,11 +125,11 @@ public final class GamePanel extends javax.swing.JPanel { private static final Logger logger = Logger.getLogger(GamePanel.class); private static final String YOUR_HAND = "Your hand"; private static final int X_PHASE_WIDTH = 55; - private final Map players = new HashMap(); - private final Map exiles = new HashMap(); - private final Map revealed = new HashMap(); - private final Map lookedAt = new HashMap(); - private final ArrayList pickTarget = new ArrayList(); + private final Map players = new HashMap<>(); + private final Map exiles = new HashMap<>(); + private final Map revealed = new HashMap<>(); + private final Map lookedAt = new HashMap<>(); + private final ArrayList pickTarget = new ArrayList<>(); private UUID gameId; private UUID playerId; private Session session; @@ -133,7 +142,7 @@ public final class GamePanel extends javax.swing.JPanel { private int lastUpdatedTurn; - private Map loadedCards = new HashMap(); + private Map loadedCards = new HashMap<>(); private int storedHeight; @@ -186,7 +195,7 @@ public final class GamePanel extends javax.swing.JPanel { } private Map getUIComponents(JLayeredPane jLayeredPane) { - Map components = new HashMap(); + Map components = new HashMap<>(); components.put("jSplitPane1", jSplitPane1); components.put("pnlBattlefield", pnlBattlefield); @@ -247,6 +256,8 @@ public final class GamePanel extends javax.swing.JPanel { } catch (InterruptedException ex) { logger.fatal("popupContainer error:", ex); } + jPanel2.remove(bigCard); + this.bigCard = null; } private void saveDividerLocations() { @@ -685,7 +696,7 @@ public final class GamePanel extends javax.swing.JPanel { for (PlayerView playerView : gameView.getPlayers()) { if (playerView.getPlayerId().equals(playerId)) { if (playerView.isActive()) { - options = new HashMap(); + options = new HashMap<>(); options.put("your_turn", true); messageToDisplay = message + "
Your turn
"; } @@ -817,7 +828,7 @@ public final class GamePanel extends javax.swing.JPanel { jSplitPane2 = new javax.swing.JSplitPane(); handContainer = new HandPanel(); - handCards = new HashMap(); + handCards = new HashMap<>(); jSplitPane1.setBorder(null); jSplitPane1.setDividerSize(7); @@ -1384,7 +1395,7 @@ public final class GamePanel extends javax.swing.JPanel { private void createPhaseButton(String name) { if (hoverButtons == null) { - hoverButtons = new LinkedHashMap(); + hoverButtons = new LinkedHashMap<>(); } Rectangle rect = new Rectangle(36, 36); HoverButton button = new HoverButton("", ImageManagerImpl.getInstance().getPhaseImage(name), rect); diff --git a/Mage.Client/src/main/java/mage/client/plugins/adapters/MageActionCallback.java b/Mage.Client/src/main/java/mage/client/plugins/adapters/MageActionCallback.java index 59b4d1e80ba..ae58bca4597 100644 --- a/Mage.Client/src/main/java/mage/client/plugins/adapters/MageActionCallback.java +++ b/Mage.Client/src/main/java/mage/client/plugins/adapters/MageActionCallback.java @@ -1,5 +1,23 @@ package mage.client.plugins.adapters; +import java.awt.Color; +import java.awt.Component; +import java.awt.Image; +import java.awt.Point; +import java.awt.event.MouseEvent; +import java.awt.event.MouseWheelEvent; +import java.awt.image.BufferedImage; +import java.util.List; +import java.util.UUID; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.TimeUnit; +import javax.swing.JComponent; +import javax.swing.JPopupMenu; +import javax.swing.Popup; +import javax.swing.PopupFactory; +import javax.swing.SwingUtilities; import mage.cards.MageCard; import mage.cards.MagePermanent; import mage.cards.action.ActionCallback; @@ -21,23 +39,13 @@ import mage.utils.ThreadUtils; import mage.view.CardView; import mage.view.PlayerView; import mage.view.SimpleCardsView; +import org.apache.log4j.Logger; import org.jdesktop.swingx.JXPanel; -import javax.swing.*; -import java.awt.*; -import java.awt.event.MouseEvent; -import java.awt.event.MouseWheelEvent; -import java.awt.image.BufferedImage; -import java.util.List; -import java.util.UUID; -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.ScheduledFuture; -import java.util.concurrent.TimeUnit; -import org.jboss.logging.Logger; - public class MageActionCallback implements ActionCallback { + private static final Logger logger = Logger.getLogger(ActionCallback.class); + private Popup popup; private JPopupMenu jPopupMenu; private BigCard bigCard; @@ -185,7 +193,6 @@ public class MageActionCallback implements ActionCallback { target.translate(-parentPoint.x, -parentPoint.y); int yOffset = p.isSmallMode() ? (PlayAreaPanel.PANEL_HEIGHT - PlayAreaPanel.PANEL_HEIGHT_SMALL) : 0; ArrowBuilder.getBuilder().addArrow(data.gameId, (int) me.getX() + 35, (int) me.getY(), (int) target.getX() + 15, (int) target.getY() + 145 - yOffset, Color.red, ArrowBuilder.Type.TARGET); - continue; } } }