From d7bcbdd04b59fd52130cfdcc172ddabc58c6f7c7 Mon Sep 17 00:00:00 2001 From: drdev Date: Thu, 2 Oct 2014 20:08:20 +0000 Subject: [PATCH] Avoid copying unneccessary information to card views that can't be shown anyway --- forge-gui/src/main/java/forge/view/LocalGameView.java | 8 ++++++-- forge-gui/src/main/java/forge/view/ViewUtil.java | 2 ++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/forge-gui/src/main/java/forge/view/LocalGameView.java b/forge-gui/src/main/java/forge/view/LocalGameView.java index a9d93bd1447..319d472e4f1 100644 --- a/forge-gui/src/main/java/forge/view/LocalGameView.java +++ b/forge-gui/src/main/java/forge/view/LocalGameView.java @@ -452,8 +452,12 @@ public abstract class LocalGameView implements IGameView { private void writeCardToView(final Card c, final CardView view, final LocalGameView gameView) { // First, write the values independent of other views. - ViewUtil.writeNonDependentCardViewProperties(c, view, gameView.mayShowCard(c), gameView.mayShowCardFace(c)); - // Next, write the values that depend on other views. + boolean mayShowCard = gameView.mayShowCard(c); + ViewUtil.writeNonDependentCardViewProperties(c, view, mayShowCard, gameView.mayShowCardFace(c)); + + // Next, write the values that depend on other views if card can be shown + if (!mayShowCard) { return; } + final Combat combat = game.getCombat(); view.setOwner(getPlayerView(c.getOwner())); view.setController(getPlayerView(c.getController())); diff --git a/forge-gui/src/main/java/forge/view/ViewUtil.java b/forge-gui/src/main/java/forge/view/ViewUtil.java index 421e247445f..cc64a4d8b47 100644 --- a/forge-gui/src/main/java/forge/view/ViewUtil.java +++ b/forge-gui/src/main/java/forge/view/ViewUtil.java @@ -38,6 +38,8 @@ public final class ViewUtil { view.setMayBeShown(mayShowCard); view.setZone(c.getZone() == null ? null : c.getZone().getZoneType()); view.setHasAltState(hasAltState); + if (!mayShowCard) { return; } //remaining properties aren't needed if card can't be shown + view.setFaceDown(c.isFaceDown()); view.setCloned(c.isCloned()); view.setFlipCard(c.isFlipCard());