diff --git a/forge-game/src/main/java/forge/game/card/CardView.java b/forge-game/src/main/java/forge/game/card/CardView.java index 1f109c48ed3..70f1caab37e 100644 --- a/forge-game/src/main/java/forge/game/card/CardView.java +++ b/forge-game/src/main/java/forge/game/card/CardView.java @@ -36,6 +36,7 @@ import java.util.Set; public class CardView extends GameEntityView { private static final long serialVersionUID = -3624090829028979255L; + private Card cardbackup; public static CardView get(Card c) { return c == null ? null : c.getView(); @@ -46,6 +47,7 @@ public class CardView extends GameEntityView { return s == null ? null : s.getView(); } + public CardView getBackup() { return cardbackup == null ? null : getCardForUi(cardbackup.getPaperCard()); } public static CardView getCardForUi(IPaperCard pc) { return Card.getCardForUi(pc).getView(); } @@ -765,6 +767,10 @@ public class CardView extends GameEntityView { updateZoneText(c); updateDamage(c); + if (cardbackup == null && !c.isFaceDown() && c.hasBackSide()) { + cardbackup = c.getCardForUi(); + } + boolean isSplitCard = c.isSplitCard(); set(TrackableProperty.Cloned, c.isCloned()); set(TrackableProperty.SplitCard, isSplitCard); diff --git a/forge-gui-mobile/src/forge/card/CardZoom.java b/forge-gui-mobile/src/forge/card/CardZoom.java index 9daeeb46f12..e0b72fea7ec 100644 --- a/forge-gui-mobile/src/forge/card/CardZoom.java +++ b/forge-gui-mobile/src/forge/card/CardZoom.java @@ -180,6 +180,12 @@ public class CardZoom extends FOverlay { return true; } if (flipIconBounds != null && flipIconBounds.contains(x, y)) { + if (currentCard.isFaceDown() && currentCard.getBackup() != null) { + if (currentCard.getBackup().hasBackSide()) { + show(currentCard.getBackup()); + return true; + } + } if (!showBackSide) showAltState = !showAltState; else