From 0e5ad49935aafcfe74f24e6b161de47102b8ef72 Mon Sep 17 00:00:00 2001 From: jendave Date: Sat, 6 Aug 2011 21:44:47 +0000 Subject: [PATCH] -Added a method I use in the Shandalar code for keeping set info per card intact, when saving a deck. --- src/forge/CardList.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/forge/CardList.java b/src/forge/CardList.java index 0a4258bc350..facfdeeff6d 100644 --- a/src/forge/CardList.java +++ b/src/forge/CardList.java @@ -88,6 +88,22 @@ public class CardList implements Iterable { }//remove(String cardName) + //removes one copy of that card, from given set (if set not found - just use regular remove(String cardName) ): + public void remove(final String cardName, final String setCode) { + CardList find = this.filter(new CardListFilter() { + public boolean addCard(Card c) { + return c.getName().equals(cardName) && c.getCurSetCode().equals(setCode); + } + }); + + if(0 < find.size()) this.remove(find.get(0)); + /*else throw new RuntimeException("CardList : remove(String cardname, String setCode), error - card name not found: " + + cardName + " from set: " +setCode + " - contents of Arraylist:" + list);*/ + else + remove(cardName); + + }//remove(String cardName, final String setCode) + public int size() { return list.size(); }