AdventureDeckEditor minor formatting, prevent NPE

This commit is contained in:
Anthony Calosa
2023-07-29 19:45:31 +08:00
parent b380e6a12b
commit 0d6fb1e7fd

View File

@@ -234,8 +234,7 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
if (showNoSellCards) {
collectionPool.addAllFlat(AdventurePlayer.current().getNoSellCards().toFlatList());
collectionPool.removeAllFlat(cardsInUse.toFlatList());
}
else{
} else {
cardsInUse.removeAllFlat(AdventurePlayer.current().getNoSellCards().toFlatList());
collectionPool.removeAllFlat(cardsInUse.toFlatList());
}
@@ -446,13 +445,11 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
new DeckSectionPage(DeckSection.Sideboard, ItemManagerConfig.SIDEBOARD)};
}
}
else if (event.format == AdventureEventController.EventFormat.Jumpstart){
} else if (event.format == AdventureEventController.EventFormat.Jumpstart) {
return new DeckEditorPage[]{
new DeckSectionPage(DeckSection.Main, ItemManagerConfig.DRAFT_POOL),
new DeckSectionPage(DeckSection.Sideboard, ItemManagerConfig.SIDEBOARD)};
}
else return new DeckEditorPage[]{};
} else return new DeckEditorPage[]{};
}
private static DeckEditorPage[] getPages(Deck deckToPreview) {
@@ -528,12 +525,7 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
protected void buildMenu() {
addItem(new FMenuItem(Forge.getLocalizer().getMessage("btnCopyToClipboard"), Forge.hdbuttons ? FSkinImage.HDEXPORT : FSkinImage.BLANK, e1 -> FDeckViewer.copyDeckToClipboard(getDeck())));
if (allowsAddBasic()) {
FMenuItem addBasic = new FMenuItem(Forge.getLocalizer().getMessage("lblAddBasicLands"), FSkinImage.LANDLOGO, new FEvent.FEventHandler() {
@Override
public void handleEvent(FEvent e) {
launchBasicLandDialog();
}
});
FMenuItem addBasic = new FMenuItem(Forge.getLocalizer().getMessage("lblAddBasicLands"), FSkinImage.LANDLOGO, e1 -> launchBasicLandDialog());
addItem(addBasic);
}
if (!isShop && catalogPage != null && !(catalogPage instanceof ContentPreviewPage)) {
@@ -610,12 +602,14 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
}
super.doLayout(startY, width, height);
}
public Deck getDeck() {
if (currentEvent == null)
return AdventurePlayer.current().getSelectedDeck();
else
return currentEvent.registeredDeck;
}
protected CatalogPage getCatalogPage() {
return catalogPage;
}
@@ -657,6 +651,7 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
private DeckHeader() {
setHeight(HEADER_HEIGHT);
}
boolean init;
@Override
@@ -718,6 +713,7 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
}
});
}
private final Function<Map.Entry<InventoryItem, Integer>, Comparable<?>> fnNewCompare = from -> AdventurePlayer.current().getNewCards().contains((PaperCard) from.getKey()) ? Integer.valueOf(1) : Integer.valueOf(0);
private final Function<Map.Entry<? extends InventoryItem, Integer>, Object> fnNewGet = from -> AdventurePlayer.current().getNewCards().contains((PaperCard) from.getKey()) ? "NEW" : "";
public static final Function<Map.Entry<InventoryItem, Integer>, Comparable<?>> fnDeckCompare = from -> decksUsingMyCards.count(from.getKey());
@@ -739,6 +735,7 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
public void addCard(PaperCard card) {
addCard(card, 1);
}
public void addCard(PaperCard card, int qty) {
if (canAddCards()) {
cardManager.addItem(card, qty);
@@ -750,6 +747,7 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
public void removeCard(PaperCard card) {
removeCard(card, 1);
}
public void removeCard(PaperCard card, int qty) {
cardManager.removeItem(card, qty);
updateCaption();
@@ -764,6 +762,7 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
}
protected abstract void onCardActivated(PaperCard card);
protected abstract void buildMenu(final FDropDownMenu menu, final PaperCard card);
private ItemPool<PaperCard> getAllowedAdditions(Iterable<Map.Entry<PaperCard, Integer>> itemsToAdd, boolean isAddSource) {
@@ -776,11 +775,9 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
int max;
if (deck == null || card == null) {
max = Integer.MAX_VALUE;
}
else if (DeckFormat.canHaveAnyNumberOf(card)) {
} else if (DeckFormat.canHaveAnyNumberOf(card)) {
max = Integer.MAX_VALUE;
}
else {
} else {
max = FModel.getPreferences().getPrefInt(ForgePreferences.FPref.DECK_DEFAULT_CARD_LIMIT);
Integer cardCopies = DeckFormat.canHaveSpecificNumberInDeck(card);
@@ -794,8 +791,7 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
int qty;
if (isAddSource) {
qty = itemEntry.getValue();
}
else {
} else {
try {
qty = parentScreen.getCatalogPage().cardManager.getItemCount(card);
} catch (Exception e) {
@@ -833,7 +829,9 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
protected void addItem(FDropDownMenu menu, final String verb, String dest, FImage icon, boolean isAddMenu, boolean isAddSource, final Callback<Integer> callback) {
final int max = getMaxMoveQuantity(isAddMenu, isAddSource);
if (max == 0) { return; }
if (max == 0) {
return;
}
String label = verb;
if (!StringUtils.isEmpty(dest)) {
@@ -859,7 +857,9 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
addItem(menu, "Set", "as " + captionSuffix, parentScreen.getCommanderPage().getIcon(), isAddMenu, isAddSource, new Callback<Integer>() {
@Override
public void run(Integer result) {
if (result == null || result <= 0) { return; }
if (result == null || result <= 0) {
return;
}
setCommander(card);
}
});
@@ -868,7 +868,9 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
addItem(menu, "Set", "as Partner " + captionSuffix, parentScreen.getCommanderPage().getIcon(), isAddMenu, isAddSource, new Callback<Integer>() {
@Override
public void run(Integer result) {
if (result == null || result <= 0) { return; }
if (result == null || result <= 0) {
return;
}
setPartnerCommander(card);
}
});
@@ -877,7 +879,9 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
addItem(menu, "Set", "as Signature Spell", FSkinImage.SORCERY, isAddMenu, isAddSource, new Callback<Integer>() {
@Override
public void run(Integer result) {
if (result == null || result <= 0) { return; }
if (result == null || result <= 0) {
return;
}
setSignatureSpell(card);
}
});
@@ -959,6 +963,7 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
private boolean initialized, needRefreshWhenShown;
boolean showCollectionCards = true, showAutoSellCards = false, showNoSellCards = true;
public void showAllCards() {
showCollectionCards = true;
showAutoSellCards = true;
@@ -985,9 +990,11 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
super(config, caption0, icon0);
refresh();
}
private void setNextSelected() {
setNextSelected(1);
}
private void setNextSelected(int val) {
if (cardManager.getItemCount() < 1)
return;
@@ -997,9 +1004,11 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
cardManager.setSelectedIndex(cardManager.getSelectedIndex() + 1);
}
}
private void setPreviousSelected() {
setPreviousSelected(1);
}
private void setPreviousSelected(int val) {
if (cardManager.getItemCount() < 1)
return;
@@ -1012,7 +1021,9 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
@Override
protected void initialize() {
if (initialized) { return; } //prevent initializing more than once if deck changes
if (initialized) {
return;
} //prevent initializing more than once if deck changes
initialized = true;
super.initialize();
@@ -1020,7 +1031,6 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
if (!isVisible()) {
needRefreshWhenShown = true;
return;
}
}
@@ -1039,7 +1049,9 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
@Override
public void setVisible(boolean visible0) {
if (isVisible() == visible0) { return; }
if (isVisible() == visible0) {
return;
}
super.setVisible(visible0);
if (visible0 && needRefreshWhenShown) {
@@ -1062,8 +1074,7 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
if (showNoSellCards) {
adventurePool.addAll(AdventurePlayer.current().getNoSellCards());
adventurePool.removeAll(cardsInUse);
}
else{
} else {
cardsInUse.removeAll(AdventurePlayer.current().getNoSellCards());
adventurePool.removeAll(cardsInUse);
}
@@ -1095,12 +1106,13 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
@Override
protected void buildMenu(final FDropDownMenu menu, final PaperCard card) {
if (!needsCommander() && !canOnlyBePartnerCommander(card)) {
if(!parentScreen.isShop)
{
if (!parentScreen.isShop) {
addItem(menu, Forge.getLocalizer().getMessage("lblAdd"), Forge.getLocalizer().getMessage("lblTo") + " " + getMainDeckPage().cardManager.getCaption(), getMainDeckPage().getIcon(), true, true, new Callback<Integer>() {
@Override
public void run(Integer result) {
if (result == null || result <= 0) { return; }
if (result == null || result <= 0) {
return;
}
if (!cardManager.isInfinite()) {
removeCard(card, result);
@@ -1112,7 +1124,9 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
addItem(menu, Forge.getLocalizer().getMessage("lblAdd"), Forge.getLocalizer().getMessage("lbltosideboard"), getSideboardPage().getIcon(), true, true, new Callback<Integer>() {
@Override
public void run(Integer result) {
if (result == null || result <= 0) { return; }
if (result == null || result <= 0) {
return;
}
if (!cardManager.isInfinite()) {
removeCard(card, result);
@@ -1145,9 +1159,11 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
protected static class DeckSectionPage extends CardManagerPage {
private final String captionPrefix;
private final DeckSection deckSection;
private void setNextSelected() {
setNextSelected(1);
}
private void setNextSelected(int val) {
if (cardManager.getItemCount() < 1)
return;
@@ -1157,9 +1173,11 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
cardManager.setSelectedIndex(cardManager.getSelectedIndex() + 1);
}
}
private void setPreviousSelected() {
setPreviousSelected(1);
}
private void setPreviousSelected(int val) {
if (cardManager.getItemCount() < 1)
return;
@@ -1212,15 +1230,16 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
@Override
protected void onCardActivated(PaperCard card) {
CatalogPage catalog = parentScreen == null ? null : parentScreen.getCatalogPage();
switch (deckSection) {
case Main:
case Planes:
case Schemes:
removeCard(card);
if (parentScreen.getCatalogPage() != null && currentEvent == null || currentEvent.getDraft() == null) {
parentScreen.getCatalogPage().addCard(card);
}
else if (getSideboardPage() != null) {
if (currentEvent == null || currentEvent.getDraft() == null) {
if (catalog != null)
catalog.addCard(card);
} else if (getSideboardPage() != null) {
getSideboardPage().addCard(card);
}
break;
@@ -1235,17 +1254,21 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
@Override
protected void buildMenu(final FDropDownMenu menu, final PaperCard card) {
CatalogPage catalog = parentScreen == null ? null : parentScreen.getCatalogPage();
switch (deckSection) {
default:
case Main:
addItem(menu, Forge.getLocalizer().getMessage("lblAdd"), null, Forge.hdbuttons ? FSkinImage.HDPLUS : FSkinImage.PLUS, true, false, new Callback<Integer>() {
@Override
public void run(Integer result) {
if (result == null || result <= 0) { return; }
if (result == null || result <= 0) {
return;
}
parentScreen.getCatalogPage().removeCard(card, result);
if (catalog != null) {
catalog.removeCard(card, result);
addCard(card, result);
}
}
});
if (currentEvent == null) {
addItem(menu, Forge.getLocalizer().getMessage("lblRemove"), null, Forge.hdbuttons ? FSkinImage.HDMINUS : FSkinImage.MINUS, false, false, new Callback<Integer>() {
@@ -1255,9 +1278,9 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
return;
}
if (catalog != null) {
removeCard(card, result);
if (parentScreen.getCatalogPage() != null) {
parentScreen.getCatalogPage().addCard(card, result);
catalog.addCard(card, result);
}
}
});
@@ -1266,7 +1289,9 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
addItem(menu, Forge.getLocalizer().getMessage("lblMove"), Forge.getLocalizer().getMessage("lbltosideboard"), getSideboardPage().getIcon(), false, false, new Callback<Integer>() {
@Override
public void run(Integer result) {
if (result == null || result <= 0) { return; }
if (result == null || result <= 0) {
return;
}
removeCard(card, result);
getSideboardPage().addCard(card, result);
@@ -1279,11 +1304,15 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
addItem(menu, Forge.getLocalizer().getMessage("lblAdd"), null, Forge.hdbuttons ? FSkinImage.HDPLUS : FSkinImage.PLUS, true, false, new Callback<Integer>() {
@Override
public void run(Integer result) {
if (result == null || result <= 0) { return; }
if (result == null || result <= 0) {
return;
}
parentScreen.getCatalogPage().removeCard(card, result);
if (catalog != null) {
catalog.removeCard(card, result);
addCard(card, result);
}
}
});
if (currentEvent == null) {
addItem(menu, Forge.getLocalizer().getMessage("lblRemove"), null, Forge.hdbuttons ? FSkinImage.HDMINUS : FSkinImage.MINUS, false, false, new Callback<Integer>() {
@@ -1293,9 +1322,9 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
return;
}
if (catalog != null) {
removeCard(card, result);
if (parentScreen.getCatalogPage() != null) {
parentScreen.getCatalogPage().addCard(card, result);
catalog.addCard(card, result);
}
}
});
@@ -1303,7 +1332,9 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
addItem(menu, Forge.getLocalizer().getMessage("lblMove"), Forge.getLocalizer().getMessage("lblToMainDeck"), getMainDeckPage().getIcon(), false, false, new Callback<Integer>() {
@Override
public void run(Integer result) {
if (result == null || result <= 0) { return; }
if (result == null || result <= 0) {
return;
}
removeCard(card, result);
getMainDeckPage().addCard(card, result);
@@ -1320,13 +1351,18 @@ public class AdventureDeckEditor extends TabPageScreen<AdventureDeckEditor> {
return;
}
if (catalog != null) {
removeCard(card, result);
parentScreen.getCatalogPage().refresh(); //refresh so commander options shown again
parentScreen.setSelectedPage(parentScreen.getCatalogPage());
catalog.refresh(); //refresh so commander options shown again
if (parentScreen != null)
parentScreen.setSelectedPage(catalog);
}
}
});
}
break;
default:
break;
}
}