From 0387d9a82ef27db2b699ecb6f569989151c828d2 Mon Sep 17 00:00:00 2001 From: Maxmtg Date: Wed, 26 Jun 2013 21:24:36 +0000 Subject: [PATCH] restore targeting arcs --- .../forge/gui/match/TargetingOverlay.java | 44 ++++++++++--------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/src/main/java/forge/gui/match/TargetingOverlay.java b/src/main/java/forge/gui/match/TargetingOverlay.java index 09603eb63a3..21783c71a5c 100644 --- a/src/main/java/forge/gui/match/TargetingOverlay.java +++ b/src/main/java/forge/gui/match/TargetingOverlay.java @@ -78,9 +78,6 @@ public enum TargetingOverlay { // positions have changed or not. Could perform better if // it checked for a state change. Doublestrike 28-09-12 private void assembleArcs(Combat combat) { - arcs.clear(); - cardPanels.clear(); - //List fields = VMatchUI.SINGLETON_INSTANCE.getFieldViews(); switch (CDock.SINGLETON_INSTANCE.getArcState()) { @@ -201,14 +198,16 @@ public enum TargetingOverlay { }); } - for (Card attackingCard : combat.getAttackers()) { - temp = combat.getBlockers(attackingCard); - for (Card blockingCard : temp) { - if (!attackingCard.equals(c) && !blockingCard.equals(c)) { continue; } - arcs.add(new Point[] { - endpoints.get(attackingCard.getUniqueNumber()), - endpoints.get(blockingCard.getUniqueNumber()) - }); + if ( null != combat ) { + for (Card attackingCard : combat.getAttackers()) { + temp = combat.getBlockers(attackingCard); + for (Card blockingCard : temp) { + if (!attackingCard.equals(c) && !blockingCard.equals(c)) { continue; } + arcs.add(new Point[] { + endpoints.get(attackingCard.getUniqueNumber()), + endpoints.get(blockingCard.getUniqueNumber()) + }); + } } } } else { @@ -235,15 +234,16 @@ public enum TargetingOverlay { } // Combat cards - for (Card attackingCard : combat.getAttackers()) { - temp = combat.getBlockers(attackingCard); - for (Card blockingCard : temp) { - arcs.add(new Point[]{ - endpoints.get(attackingCard.getUniqueNumber()), - endpoints.get(blockingCard.getUniqueNumber()) - }); + if ( null != combat ) + for (Card attackingCard : combat.getAttackers()) { + temp = combat.getBlockers(attackingCard); + for (Card blockingCard : temp) { + arcs.add(new Point[]{ + endpoints.get(attackingCard.getUniqueNumber()), + endpoints.get(blockingCard.getUniqueNumber()) + }); + } } - } } temp.clear(); @@ -339,8 +339,10 @@ public enum TargetingOverlay { if (overlaystate == 0) { return; } // Arc drawing - if( null != combat ) - assembleArcs(combat); + arcs.clear(); + cardPanels.clear(); + + assembleArcs(combat); if (arcs.isEmpty()) { return; } Graphics2D g2d = (Graphics2D) g;