From eb5a523ce92ed66e729eeff08516d639ad8c6e7e Mon Sep 17 00:00:00 2001 From: Agetian Date: Tue, 27 Nov 2012 05:27:56 +0000 Subject: [PATCH] - Targeting Overlay: in the "card mouseover" mode, during the order of blockers declaration, the targeting overlay will first show all the blockers for the card for which the order of blockers is declared, and will also show individual arrows for each blocker when the blocker is selected in the blocker order list. --- src/main/java/forge/game/phase/CombatUtil.java | 2 ++ src/main/java/forge/gui/match/TargetingOverlay.java | 10 +++++----- src/main/java/forge/view/arcane/CardPanel.java | 11 +++++++++++ 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/main/java/forge/game/phase/CombatUtil.java b/src/main/java/forge/game/phase/CombatUtil.java index 4cb0f142ba8..254a772bcba 100644 --- a/src/main/java/forge/game/phase/CombatUtil.java +++ b/src/main/java/forge/game/phase/CombatUtil.java @@ -61,6 +61,7 @@ import forge.game.player.Player; import forge.game.zone.PlayerZone; import forge.game.zone.ZoneType; import forge.gui.GuiChoose; +import forge.gui.GuiUtils; import forge.gui.framework.EDocID; import forge.gui.framework.SDisplayUtil; import forge.gui.match.views.VCombat; @@ -437,6 +438,7 @@ public class CombatUtil { List orderedBlockers = null; if (player.isHuman()) { + GuiUtils.setPanelSelection(attacker); List ordered = GuiChoose.getOrderChoices("Choose Blocking Order", "Damaged First", 0, blockers, null, attacker); orderedBlockers = new ArrayList(); diff --git a/src/main/java/forge/gui/match/TargetingOverlay.java b/src/main/java/forge/gui/match/TargetingOverlay.java index a36871d38fe..e5f2d40e9c1 100644 --- a/src/main/java/forge/gui/match/TargetingOverlay.java +++ b/src/main/java/forge/gui/match/TargetingOverlay.java @@ -89,11 +89,11 @@ public enum TargetingOverlay { activePanel = null; for (CField f : CMatchUI.SINGLETON_INSTANCE.getFieldControls()) { cardPanels.addAll(f.getView().getTabletop().getCardPanels()); - } - for (VField f : fields) { - if (f.getTabletop().getCardFromMouseOverPanel() != null) { - activePanel = f.getTabletop().getMouseOverPanel(); - break; + List cPanel = f.getView().getTabletop().getCardPanels(); + for (CardPanel c : cPanel) { + if (c.isSelected()) { + activePanel = c; + } } } break; diff --git a/src/main/java/forge/view/arcane/CardPanel.java b/src/main/java/forge/view/arcane/CardPanel.java index a8ad5636a3c..716a6540ffb 100644 --- a/src/main/java/forge/view/arcane/CardPanel.java +++ b/src/main/java/forge/view/arcane/CardPanel.java @@ -279,6 +279,17 @@ public class CardPanel extends JPanel implements CardContainer { this.repaint(); } + /** + *

+ * isSelected. + *

+ * + * @return a boolean. + */ + public final boolean isSelected() { + return this.isSelected; + } + /** *

* Setter for the field showCastingCost.