mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 11:18:01 +00:00
update desktop editor
This commit is contained in:
@@ -436,6 +436,9 @@ public class CardView extends GameEntityView {
|
|||||||
public List<String> getChosenColorSpire() {
|
public List<String> getChosenColorSpire() {
|
||||||
return get(TrackableProperty.ChosenColorSpire);
|
return get(TrackableProperty.ChosenColorSpire);
|
||||||
}
|
}
|
||||||
|
public void updateChosenColorSpire(List<String> chosen) {
|
||||||
|
set(TrackableProperty.ChosenColorSpire, chosen);
|
||||||
|
}
|
||||||
void updateChosenColorSpire(Card c) {
|
void updateChosenColorSpire(Card c) {
|
||||||
set(TrackableProperty.ChosenColorSpire, c.getChosenColorSpire());
|
set(TrackableProperty.ChosenColorSpire, c.getChosenColorSpire());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ import javax.swing.SwingUtilities;
|
|||||||
|
|
||||||
import com.google.common.collect.Iterables;
|
import com.google.common.collect.Iterables;
|
||||||
|
|
||||||
|
import forge.card.MagicColor;
|
||||||
import forge.deck.CardPool;
|
import forge.deck.CardPool;
|
||||||
import forge.deck.Deck;
|
import forge.deck.Deck;
|
||||||
import forge.deck.DeckBase;
|
import forge.deck.DeckBase;
|
||||||
@@ -65,6 +66,7 @@ import forge.toolbox.FLabel;
|
|||||||
import forge.toolbox.FSkin;
|
import forge.toolbox.FSkin;
|
||||||
import forge.util.Aggregates;
|
import forge.util.Aggregates;
|
||||||
import forge.util.ItemPool;
|
import forge.util.ItemPool;
|
||||||
|
import forge.util.Lang;
|
||||||
import forge.util.Localizer;
|
import forge.util.Localizer;
|
||||||
import forge.view.FView;
|
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.SHIFT_DOWN_MASK | Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(),
|
||||||
InputEvent.ALT_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) {
|
if (foilAvailable) {
|
||||||
cmb.addMakeFoils();
|
cmb.addMakeFoils();
|
||||||
}
|
}
|
||||||
|
cmb.addSetColorSpire();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
|
|||||||
@@ -69,6 +69,8 @@ public class CDetailPicture {
|
|||||||
c.getCurrentState().setFoilIndexOverride(1);
|
c.getCurrentState().setFoilIndexOverride(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (paperCard.getSpireColors() != null && c.getChosenColorSpire() == null)
|
||||||
|
c.updateChosenColorSpire(paperCard.getSpireColors());
|
||||||
showCard(c, isDisplayAlt);
|
showCard(c, isDisplayAlt);
|
||||||
} else {
|
} else {
|
||||||
currentView = null;
|
currentView = null;
|
||||||
|
|||||||
@@ -1154,7 +1154,7 @@ public class ImageView<T extends InventoryItem> extends ItemView<T> {
|
|||||||
}
|
}
|
||||||
// spire colors
|
// spire colors
|
||||||
if (!spireColor.isEmpty()) {
|
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) {
|
} else if (item instanceof ConquestCommander) {
|
||||||
CardRenderer.drawCard(g, ((ConquestCommander) item).getCard(), x, y, w, h, pos);
|
CardRenderer.drawCard(g, ((ConquestCommander) item).getCard(), x, y, w, h, pos);
|
||||||
|
|||||||
Reference in New Issue
Block a user