mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 19:28:01 +00:00
update desktop editor
This commit is contained in:
@@ -436,6 +436,9 @@ public class CardView extends GameEntityView {
|
||||
public List<String> getChosenColorSpire() {
|
||||
return get(TrackableProperty.ChosenColorSpire);
|
||||
}
|
||||
public void updateChosenColorSpire(List<String> chosen) {
|
||||
set(TrackableProperty.ChosenColorSpire, chosen);
|
||||
}
|
||||
void updateChosenColorSpire(Card c) {
|
||||
set(TrackableProperty.ChosenColorSpire, c.getChosenColorSpire());
|
||||
}
|
||||
|
||||
@@ -30,6 +30,7 @@ import javax.swing.SwingUtilities;
|
||||
|
||||
import com.google.common.collect.Iterables;
|
||||
|
||||
import forge.card.MagicColor;
|
||||
import forge.deck.CardPool;
|
||||
import forge.deck.Deck;
|
||||
import forge.deck.DeckBase;
|
||||
@@ -65,6 +66,7 @@ import forge.toolbox.FLabel;
|
||||
import forge.toolbox.FSkin;
|
||||
import forge.util.Aggregates;
|
||||
import forge.util.ItemPool;
|
||||
import forge.util.Lang;
|
||||
import forge.util.Localizer;
|
||||
import forge.view.FView;
|
||||
|
||||
@@ -576,5 +578,23 @@ public abstract class ACEditorBase<TItem extends InventoryItem, TModel extends D
|
||||
InputEvent.SHIFT_DOWN_MASK | Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(),
|
||||
InputEvent.ALT_DOWN_MASK | Toolkit.getDefaultToolkit().getMenuShortcutKeyMask());
|
||||
}
|
||||
public void addSetColorSpire() {
|
||||
String label = localizer.getMessage("lblColorIdentity");
|
||||
CardManager cardManager = (CardManager) CDeckEditorUI.SINGLETON_INSTANCE.getCurrentEditorController().getDeckManager();
|
||||
PaperCard existingCard = cardManager.getSelectedItem();
|
||||
if (!"Cryptic Spires".equalsIgnoreCase(existingCard.getCardName()))
|
||||
return;
|
||||
|
||||
GuiUtils.addMenuItem(menu, label, null, () -> {
|
||||
List<String> colors = GuiChoose.getChoices(localizer.getMessage("lblChooseNColors", Lang.getNumeral(2)), 2, 2, MagicColor.Constant.ONLY_COLORS);
|
||||
// make a foiled version based on the original
|
||||
PaperCard updated = existingCard.getSpireVersion(colors);
|
||||
// remove *quantity* instances of existing card
|
||||
CDeckEditorUI.SINGLETON_INSTANCE.removeSelectedCards(false, 1);
|
||||
// add *quantity* into the deck and set them as selected
|
||||
cardManager.addItem(updated, 1);
|
||||
cardManager.setSelectedItem(updated);
|
||||
}, true, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -375,6 +375,7 @@ public final class CEditorConstructed extends CDeckEditor<Deck> {
|
||||
if (foilAvailable) {
|
||||
cmb.addMakeFoils();
|
||||
}
|
||||
cmb.addSetColorSpire();
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
|
||||
@@ -69,6 +69,8 @@ public class CDetailPicture {
|
||||
c.getCurrentState().setFoilIndexOverride(1);
|
||||
}
|
||||
}
|
||||
if (paperCard.getSpireColors() != null && c.getChosenColorSpire() == null)
|
||||
c.updateChosenColorSpire(paperCard.getSpireColors());
|
||||
showCard(c, isDisplayAlt);
|
||||
} else {
|
||||
currentView = null;
|
||||
|
||||
@@ -1154,7 +1154,7 @@ public class ImageView<T extends InventoryItem> extends ItemView<T> {
|
||||
}
|
||||
// spire colors
|
||||
if (!spireColor.isEmpty()) {
|
||||
textRenderer.drawText(g, spireColor.toString(), FSkinFont.forHeight(w / 5), Color.WHITE, x, y, w, h, y, h, false, Align.center, true);
|
||||
textRenderer.drawText(g, spireColor.toString(), FSkinFont.forHeight(w / 5), Color.WHITE, x, y + h / 4, w, h, y, h, false, Align.center, true);
|
||||
}
|
||||
} else if (item instanceof ConquestCommander) {
|
||||
CardRenderer.drawCard(g, ((ConquestCommander) item).getCard(), x, y, w, h, pos);
|
||||
|
||||
Reference in New Issue
Block a user