From ca2db87d6c9a341f67831b6734e46be2e711e754 Mon Sep 17 00:00:00 2001 From: Agetian Date: Tue, 30 Sep 2014 18:08:04 +0000 Subject: [PATCH] - A somewhat better temporary solution for the issue with foils: will now fully randomize the foil overlays inside the game (where there is no problem with them), but still set the default foil overlay of 1 for the deck editors (where the foil overlays "flicker" in case of randomization). --- .../src/main/java/forge/itemmanager/views/ImageView.java | 9 ++++++++- .../java/forge/screens/match/controllers/CPicture.java | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/views/ImageView.java b/forge-gui-desktop/src/main/java/forge/itemmanager/views/ImageView.java index 0e7e2002e5a..0de4a99845d 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/views/ImageView.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/views/ImageView.java @@ -3,6 +3,7 @@ package forge.itemmanager.views; import forge.ImageCache; import forge.assets.FSkinProp; import forge.deck.DeckProxy; +import forge.game.card.Card; import forge.gui.framework.ILocalRepaint; import forge.item.IPaperCard; import forge.item.InventoryItem; @@ -1102,7 +1103,13 @@ public class ImageView extends ItemView { if (paperCard.isFoil()) { final CardView card = ViewUtil.getCardForUi(paperCard); if (card.getOriginal().getFoilIndex() == 0) { //if foil finish not yet established, assign a random one - card.getOriginal().setFoilIndex(1); // FIXME should assign a random foil here + // FIXME should assign a random foil here in all cases + // (currently assigns 1 for the deck editors where foils "flicker" otherwise) + if (item instanceof Card) { + card.getOriginal().setRandomFoil(); + } else if (item instanceof IPaperCard) { + card.getOriginal().setFoilIndex(1); + } } CardPanel.drawFoilEffect(g, card, bounds.x, bounds.y, bounds.width, bounds.height, borderSize); } diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CPicture.java b/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CPicture.java index e3c636effe5..c2d5fcd689c 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CPicture.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CPicture.java @@ -24,6 +24,7 @@ import java.awt.event.MouseWheelListener; import javax.swing.JLabel; import forge.UiCommand; +import forge.game.card.Card; import forge.gui.CardPicturePanel; import forge.gui.framework.ICDoc; import forge.item.IPaperCard; @@ -84,7 +85,13 @@ public enum CPicture implements ICDoc { final IPaperCard paperCard = ((IPaperCard)item); final CardView c = ViewUtil.getCardForUi(paperCard); if (paperCard.isFoil() && c.getOriginal().getFoilIndex() == 0) { - c.getOriginal().setFoilIndex(1); // FIXME should assign random foil here + // FIXME should assign a random foil here in all cases + // (currently assigns 1 for the deck editors where foils "flicker" otherwise) + if (item instanceof Card) { + c.getOriginal().setRandomFoil(); + } else if (item instanceof IPaperCard) { + c.getOriginal().setFoilIndex(1); + } } showCard(c, false); } else {