Update to card view of decks so long-press opens deck viewer to be consistent with list view

This commit is contained in:
austinio7116
2018-02-22 08:51:11 +00:00
committed by maustin
parent 6231775997
commit 2891133c5c
4 changed files with 27 additions and 2 deletions

View File

@@ -10,7 +10,10 @@ import com.badlogic.gdx.math.Rectangle;
import forge.Forge; import forge.Forge;
import forge.Graphics; import forge.Graphics;
import forge.assets.FSkinImage; import forge.assets.FSkinImage;
import forge.deck.CardThemedDeckGenerator;
import forge.deck.CommanderDeckGenerator;
import forge.deck.DeckProxy; import forge.deck.DeckProxy;
import forge.deck.FDeckViewer;
import forge.game.GameView; import forge.game.GameView;
import forge.game.card.CardView; import forge.game.card.CardView;
import forge.item.IPaperCard; import forge.item.IPaperCard;
@@ -125,8 +128,15 @@ public class CardZoom extends FOverlay {
return (CardView)item; return (CardView)item;
} }
if (item instanceof DeckProxy) { if (item instanceof DeckProxy) {
DeckProxy deck = ((DeckProxy)item); if (item instanceof CardThemedDeckGenerator){
return new CardView(-1, null, deck.getName(), null, deck.getImageKey(false)); return CardView.getCardForUi(((CardThemedDeckGenerator)item).getPaperCard());
}else if (item instanceof CommanderDeckGenerator){
return CardView.getCardForUi(((CommanderDeckGenerator)item).getPaperCard());
}else{
DeckProxy deck = ((DeckProxy)item);
return new CardView(-1, null, deck.getName(), null, deck.getImageKey(false));
}
} }
if (item instanceof IPaperCard) { if (item instanceof IPaperCard) {
return CardView.getCardForUi((IPaperCard)item); return CardView.getCardForUi((IPaperCard)item);

View File

@@ -11,7 +11,10 @@ import forge.assets.ImageCache;
import forge.card.CardRenderer; import forge.card.CardRenderer;
import forge.card.CardRenderer.CardStackPosition; import forge.card.CardRenderer.CardStackPosition;
import forge.card.CardZoom; import forge.card.CardZoom;
import forge.deck.CardThemedDeckGenerator;
import forge.deck.CommanderDeckGenerator;
import forge.deck.DeckProxy; import forge.deck.DeckProxy;
import forge.deck.FDeckViewer;
import forge.item.InventoryItem; import forge.item.InventoryItem;
import forge.item.PaperCard; import forge.item.PaperCard;
import forge.itemmanager.ColumnDef; import forge.itemmanager.ColumnDef;
@@ -861,6 +864,10 @@ public class ImageView<T extends InventoryItem> extends ItemView<T> {
public boolean longPress(float x, float y) { public boolean longPress(float x, float y) {
ItemInfo item = getItemAtPoint(x + getLeft(), y + getTop()); ItemInfo item = getItemAtPoint(x + getLeft(), y + getTop());
if (item != null) { if (item != null) {
if(item.getKey() instanceof CardThemedDeckGenerator || item.getKey() instanceof CommanderDeckGenerator){
FDeckViewer.show(((DeckProxy)item.getKey()).getDeck());
return true;
}
CardZoom.show(orderedItems, orderedItems.indexOf(item), itemManager); CardZoom.show(orderedItems, orderedItems.indexOf(item), itemManager);
return true; return true;
} }

View File

@@ -72,4 +72,8 @@ public class CardThemedDeckGenerator extends DeckProxy implements Comparable<Car
return cards.get(cards.size()-1).getImageKey(altState);*/ return cards.get(cards.size()-1).getImageKey(altState);*/
return FModel.getMagicDb().getCommonCards().getUniqueByName(name).getImageKey(altState); return FModel.getMagicDb().getCommonCards().getUniqueByName(name).getImageKey(altState);
} }
public PaperCard getPaperCard(){
return FModel.getMagicDb().getCommonCards().getUniqueByName(name);
}
} }

View File

@@ -100,4 +100,8 @@ public class CommanderDeckGenerator extends DeckProxy implements Comparable<Comm
public String getImageKey(boolean altState) { public String getImageKey(boolean altState) {
return legend.getImageKey(altState); return legend.getImageKey(altState);
} }
public PaperCard getPaperCard(){
return legend;
}
} }