diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/ViewItem.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/ViewItem.java index 0dd8e7c70ff..0466d51c299 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/ViewItem.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/ViewItem.java @@ -79,17 +79,11 @@ public class ViewItem extends FPanel { SkinImage i; try { - final FSkinProp f = FSkinProp.valueOf(FSkinProp.class, bazaarItem.getIcon(qA)); - i = (SkinImage) GuiBase.getInterface().getSkinIcon(f); - } catch (final IllegalArgumentException e) { - // Failed to parse FSkinProp - try { - i = (SkinImage) GuiBase.getInterface().getUnskinnedIcon(bazaarItem.getIcon(qA)); - } catch (final Exception e1) { - // give up, icon unknown - e1.printStackTrace(); - i = (SkinImage) GuiBase.getInterface().getSkinIcon(FSkinProp.ICO_UNKNOWN); - } + i = (SkinImage) bazaarItem.getIcon(qA); + } catch (final Exception e1) { + // give up, icon unknown + e1.printStackTrace(); + i = (SkinImage) GuiBase.getInterface().getSkinIcon(FSkinProp.ICO_UNKNOWN); } ViewItem.this.lblIcon.setIcon(i); diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestBazaarScreen.java b/forge-gui-mobile/src/forge/screens/quest/QuestBazaarScreen.java index c91c92c738d..ccce8dac804 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestBazaarScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestBazaarScreen.java @@ -12,7 +12,6 @@ import forge.GuiBase; import forge.assets.FImage; import forge.assets.FSkinFont; import forge.assets.FSkinImage; -import forge.assets.FSkinProp; import forge.model.FModel; import forge.quest.QuestController; import forge.quest.QuestUtil; @@ -159,8 +158,7 @@ public class QuestBazaarScreen extends TabPageScreen { lblName.setText(item.getPurchaseName()); lblDesc.setText(item.getPurchaseDescription(assets)); - final FSkinProp f = FSkinProp.valueOf(FSkinProp.class, item.getIcon(assets)); - lblIcon.setIcon((FImage) GuiBase.getInterface().getSkinIcon(f)); + lblIcon.setIcon((FImage)item.getIcon(assets)); lblCost.setText(String.valueOf(buyingPrice)); lblDesc.setFont(FSkinFont.get(12)); diff --git a/forge-gui/src/main/java/forge/quest/bazaar/IQuestBazaarItem.java b/forge-gui/src/main/java/forge/quest/bazaar/IQuestBazaarItem.java index 0d373ff53da..0efd1135578 100644 --- a/forge-gui/src/main/java/forge/quest/bazaar/IQuestBazaarItem.java +++ b/forge-gui/src/main/java/forge/quest/bazaar/IQuestBazaarItem.java @@ -17,6 +17,7 @@ */ package forge.quest.bazaar; +import forge.assets.ISkinImage; import forge.quest.QuestController; import forge.quest.data.QuestAssets; @@ -52,7 +53,7 @@ public interface IQuestBazaarItem extends Comparable { * * @return the image that is dispslayed in the bazaar */ - String getIcon(QuestAssets qA); + ISkinImage getIcon(QuestAssets qA); /** *

diff --git a/forge-gui/src/main/java/forge/quest/bazaar/QuestItemBasic.java b/forge-gui/src/main/java/forge/quest/bazaar/QuestItemBasic.java index ee7ff385013..e1989f51c1d 100644 --- a/forge-gui/src/main/java/forge/quest/bazaar/QuestItemBasic.java +++ b/forge-gui/src/main/java/forge/quest/bazaar/QuestItemBasic.java @@ -21,7 +21,9 @@ import org.apache.commons.lang3.StringUtils; import com.thoughtworks.xstream.annotations.XStreamAsAttribute; +import forge.GuiBase; import forge.assets.FSkinProp; +import forge.assets.ISkinImage; import forge.quest.QuestController; import forge.quest.data.QuestAssets; @@ -171,8 +173,8 @@ public class QuestItemBasic implements IQuestBazaarItem { * */ @Override - public String getIcon(final QuestAssets qA) { - return icon.name(); + public ISkinImage getIcon(final QuestAssets qA) { + return GuiBase.getInterface().getSkinIcon(icon); } /** diff --git a/forge-gui/src/main/java/forge/quest/bazaar/QuestPetController.java b/forge-gui/src/main/java/forge/quest/bazaar/QuestPetController.java index 6d3d12d6280..455b4b114aa 100644 --- a/forge-gui/src/main/java/forge/quest/bazaar/QuestPetController.java +++ b/forge-gui/src/main/java/forge/quest/bazaar/QuestPetController.java @@ -23,6 +23,9 @@ import java.util.List; import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamAsAttribute; +import forge.GuiBase; +import forge.assets.FSkinProp; +import forge.assets.ISkinImage; import forge.item.PaperToken; import forge.model.FModel; import forge.properties.ForgeConstants; @@ -120,10 +123,22 @@ public class QuestPetController implements IQuestBazaarItem { * @return a {@link java.lang.String} object. */ @Override - public final String getIcon(final QuestAssets qA) { + public final ISkinImage getIcon(final QuestAssets qA) { final String path = ForgeConstants.CACHE_TOKEN_PICS_DIR; final int level = this.getPetLevel(qA); - return path + this.levels.get(level < this.maxLevel ? level + 1 : level).getPicture() + ".jpg"; + try { + return GuiBase.getInterface().getUnskinnedIcon(path + this.levels.get(level < this.maxLevel ? level + 1 : level).getPicture() + ".jpg"); + } + catch (Exception e) { + e.printStackTrace(); + } + try { + return GuiBase.getInterface().getUnskinnedIcon(ForgeConstants.NO_CARD_FILE); + } + catch (Exception e) { + e.printStackTrace(); + } + return GuiBase.getInterface().getSkinIcon(FSkinProp.ICO_UNKNOWN); } /**