restore targeting arcs

This commit is contained in:
Maxmtg
2013-06-26 21:24:36 +00:00
parent bb22cc6ba9
commit 0387d9a82e

View File

@@ -78,9 +78,6 @@ public enum TargetingOverlay {
// positions have changed or not. Could perform better if // positions have changed or not. Could perform better if
// it checked for a state change. Doublestrike 28-09-12 // it checked for a state change. Doublestrike 28-09-12
private void assembleArcs(Combat combat) { private void assembleArcs(Combat combat) {
arcs.clear();
cardPanels.clear();
//List<VField> fields = VMatchUI.SINGLETON_INSTANCE.getFieldViews(); //List<VField> fields = VMatchUI.SINGLETON_INSTANCE.getFieldViews();
switch (CDock.SINGLETON_INSTANCE.getArcState()) { switch (CDock.SINGLETON_INSTANCE.getArcState()) {
@@ -201,14 +198,16 @@ public enum TargetingOverlay {
}); });
} }
for (Card attackingCard : combat.getAttackers()) { if ( null != combat ) {
temp = combat.getBlockers(attackingCard); for (Card attackingCard : combat.getAttackers()) {
for (Card blockingCard : temp) { temp = combat.getBlockers(attackingCard);
if (!attackingCard.equals(c) && !blockingCard.equals(c)) { continue; } for (Card blockingCard : temp) {
arcs.add(new Point[] { if (!attackingCard.equals(c) && !blockingCard.equals(c)) { continue; }
endpoints.get(attackingCard.getUniqueNumber()), arcs.add(new Point[] {
endpoints.get(blockingCard.getUniqueNumber()) endpoints.get(attackingCard.getUniqueNumber()),
}); endpoints.get(blockingCard.getUniqueNumber())
});
}
} }
} }
} else { } else {
@@ -235,15 +234,16 @@ public enum TargetingOverlay {
} }
// Combat cards // Combat cards
for (Card attackingCard : combat.getAttackers()) { if ( null != combat )
temp = combat.getBlockers(attackingCard); for (Card attackingCard : combat.getAttackers()) {
for (Card blockingCard : temp) { temp = combat.getBlockers(attackingCard);
arcs.add(new Point[]{ for (Card blockingCard : temp) {
endpoints.get(attackingCard.getUniqueNumber()), arcs.add(new Point[]{
endpoints.get(blockingCard.getUniqueNumber()) endpoints.get(attackingCard.getUniqueNumber()),
}); endpoints.get(blockingCard.getUniqueNumber())
});
}
} }
}
} }
temp.clear(); temp.clear();
@@ -339,8 +339,10 @@ public enum TargetingOverlay {
if (overlaystate == 0) { return; } if (overlaystate == 0) { return; }
// Arc drawing // Arc drawing
if( null != combat ) arcs.clear();
assembleArcs(combat); cardPanels.clear();
assembleArcs(combat);
if (arcs.isEmpty()) { return; } if (arcs.isEmpty()) { return; }
Graphics2D g2d = (Graphics2D) g; Graphics2D g2d = (Graphics2D) g;