DeckManager is known as DeckController

Quest decks are accessed from a class that implements IFolderMap (made a transient field for saves compatibility)
This commit is contained in:
Maxmtg
2012-02-19 12:16:43 +00:00
parent 06c3c6b244
commit 170df71893
20 changed files with 127 additions and 261 deletions

6
.gitattributes vendored
View File

@@ -11263,15 +11263,14 @@ src/main/java/forge/gui/ListChooser.java svneol=native#text/plain
src/main/java/forge/gui/MultiLineLabel.java svneol=native#text/plain src/main/java/forge/gui/MultiLineLabel.java svneol=native#text/plain
src/main/java/forge/gui/MultiLineLabelUI.java svneol=native#text/plain src/main/java/forge/gui/MultiLineLabelUI.java svneol=native#text/plain
src/main/java/forge/gui/MultiPhaseProgressMonitorWithETA.java svneol=native#text/plain src/main/java/forge/gui/MultiPhaseProgressMonitorWithETA.java svneol=native#text/plain
src/main/java/forge/gui/deckeditor/DeckController.java -text
src/main/java/forge/gui/deckeditor/DeckEditorBase.java -text src/main/java/forge/gui/deckeditor/DeckEditorBase.java -text
src/main/java/forge/gui/deckeditor/DeckEditorConstructed.java svneol=native#text/plain src/main/java/forge/gui/deckeditor/DeckEditorConstructed.java svneol=native#text/plain
src/main/java/forge/gui/deckeditor/DeckEditorLimited.java -text src/main/java/forge/gui/deckeditor/DeckEditorLimited.java -text
src/main/java/forge/gui/deckeditor/DeckEditorQuest.java svneol=native#text/plain src/main/java/forge/gui/deckeditor/DeckEditorQuest.java svneol=native#text/plain
src/main/java/forge/gui/deckeditor/DeckImport.java -text src/main/java/forge/gui/deckeditor/DeckImport.java -text
src/main/java/forge/gui/deckeditor/DeckManagerOnDisk.java -text
src/main/java/forge/gui/deckeditor/DeckManagerQuest.java -text
src/main/java/forge/gui/deckeditor/DraftingProcess.java svneol=native#text/plain src/main/java/forge/gui/deckeditor/DraftingProcess.java svneol=native#text/plain
src/main/java/forge/gui/deckeditor/IDeckManager.java -text src/main/java/forge/gui/deckeditor/IDeckController.java -text
src/main/java/forge/gui/deckeditor/MenuBase.java -text src/main/java/forge/gui/deckeditor/MenuBase.java -text
src/main/java/forge/gui/deckeditor/MenuCommon.java svneol=native#text/plain src/main/java/forge/gui/deckeditor/MenuCommon.java svneol=native#text/plain
src/main/java/forge/gui/deckeditor/MenuLimited.java -text src/main/java/forge/gui/deckeditor/MenuLimited.java -text
@@ -11326,6 +11325,7 @@ src/main/java/forge/quest/SellRules.java -text
src/main/java/forge/quest/data/QuestChallenge.java svneol=native#text/plain src/main/java/forge/quest/data/QuestChallenge.java svneol=native#text/plain
src/main/java/forge/quest/data/QuestData.java svneol=native#text/plain src/main/java/forge/quest/data/QuestData.java svneol=native#text/plain
src/main/java/forge/quest/data/QuestDataIO.java svneol=native#text/plain src/main/java/forge/quest/data/QuestDataIO.java svneol=native#text/plain
src/main/java/forge/quest/data/QuestDeckMap.java -text
src/main/java/forge/quest/data/QuestDuel.java svneol=native#text/plain src/main/java/forge/quest/data/QuestDuel.java svneol=native#text/plain
src/main/java/forge/quest/data/QuestEvent.java -text src/main/java/forge/quest/data/QuestEvent.java -text
src/main/java/forge/quest/data/QuestEventManager.java svneol=native#text/plain src/main/java/forge/quest/data/QuestEventManager.java svneol=native#text/plain

View File

@@ -9,7 +9,6 @@ import java.io.File;
import java.io.FilenameFilter; import java.io.FilenameFilter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
@@ -399,21 +398,20 @@ public class ControlQuest {
/** Resets decks, then retrieves and sets current deck. */ /** Resets decks, then retrieves and sets current deck. */
public void refreshDecks() { public void refreshDecks() {
// Retrieve and set all decks // Retrieve and set all decks
view.getLstDecks().setDecks(qData != null ? qData.getMyDecks() : new ArrayList<Deck>() );
List<Deck> temp = new ArrayList<Deck>();
if (qData != null) {
temp.addAll(qData.getMyDecks().values());
}
view.getLstDecks().setDecks(temp);
// Look through list for preferred deck from prefs // Look through list for preferred deck from prefs
currentDeck = null; currentDeck = null;
final String cd = qPrefs.getPreference(QPref.CURRENT_DECK);
for (Deck d : temp) { if( qData != null)
if (d.getName().equals(cd)) { {
currentDeck = d; final String cd = qPrefs.getPreference(QPref.CURRENT_DECK);
view.getLstDecks().setSelectedDeck(d); for (Deck d : qData.getMyDecks()) {
break; if (d.getName().equals(cd)) {
currentDeck = d;
view.getLstDecks().setSelectedDeck(d);
break;
}
} }
} }

View File

@@ -109,21 +109,16 @@ public class CustomLimited extends DeckBase {
Map<String, String> data = SectionUtil.parseKvPairs(dfData, ":"); Map<String, String> data = SectionUtil.parseKvPairs(dfData, ":");
final CustomLimited cd = new CustomLimited(data.get("Name")); final CustomLimited cd = new CustomLimited(data.get("Name"));
cd.setIgnoreRarity("True".equalsIgnoreCase(data.get("IgnoreRarity")));
cd.setSingleton("True".equalsIgnoreCase(data.get("Singleton")));
for (final String dd : dfData) { for (final String dd : dfData) {
final String[] v = dd.split(":", 2); final String[] v = dd.split(":", 2);
final String key = v[0]; final String key = v[0];
final String value = v.length > 1 ? v[1].trim() : ""; final String value = v.length > 1 ? v[1].trim() : "";
if (key.equalsIgnoreCase("DeckFile")) {
cd.setDeckFile(value);
}
if (key.equalsIgnoreCase("IgnoreRarity")) {
cd.setIgnoreRarity(value.equals("True"));
}
if (key.equalsIgnoreCase("Singleton")) {
cd.setSingleton(value.equals("True"));
}
if (key.equalsIgnoreCase("LandSetCode")) { if (key.equalsIgnoreCase("LandSetCode")) {
cd.setLandSetCode(value); cd.setLandSetCode(value);
} }

View File

@@ -13,7 +13,7 @@ import forge.util.IFolderMap;
* TODO: Write javadoc for this type. * TODO: Write javadoc for this type.
* *
*/ */
public class DeckManagerOnDisk<T extends DeckBase> implements IDeckManager<T> { public class DeckController<T extends DeckBase> implements IDeckController<T> {
private T model; private T model;
private boolean saved; private boolean saved;
@@ -22,7 +22,7 @@ public class DeckManagerOnDisk<T extends DeckBase> implements IDeckManager<T> {
private final DeckEditorBase<?, T> view; private final DeckEditorBase<?, T> view;
private final Lambda0<T> newModelCreator; private final Lambda0<T> newModelCreator;
public DeckManagerOnDisk(IFolderMap<T> folder0, DeckEditorBase<?, T> view0, Lambda0<T> newModelCreator0) public DeckController(IFolderMap<T> folder0, DeckEditorBase<?, T> view0, Lambda0<T> newModelCreator0)
{ {
folder = folder0; folder = folder0;
view = view0; view = view0;

View File

@@ -93,7 +93,7 @@ public abstract class DeckEditorBase<T extends InventoryItem, TModel> extends JF
} }
public abstract IDeckManager<TModel> getController(); public abstract IDeckController<TModel> getController();
// THIS IS HERE FOR OVERLOADING!!!1 // THIS IS HERE FOR OVERLOADING!!!1
// or may be return abstract getFilter from derived class + this filter ... // or may be return abstract getFilter from derived class + this filter ...

View File

@@ -75,7 +75,7 @@ public final class DeckEditorConstructed extends DeckEditorBase<CardPrinted, Dec
private final JLabel jLabelAnalysisGap = new JLabel(""); private final JLabel jLabelAnalysisGap = new JLabel("");
private FilterNameTypeSetPanel filterNameTypeSet; private FilterNameTypeSetPanel filterNameTypeSet;
private final IDeckManager<Deck> controller; private final IDeckController<Deck> controller;
/** /**
* Show. * Show.
* *
@@ -154,7 +154,7 @@ public final class DeckEditorConstructed extends DeckEditorBase<CardPrinted, Dec
} }
Lambda0<Deck> newCreator = new Lambda0<Deck>(){ @Override public Deck apply() { return new Deck(); } }; Lambda0<Deck> newCreator = new Lambda0<Deck>(){ @Override public Deck apply() { return new Deck(); } };
controller = new DeckManagerOnDisk<Deck>(AllZone.getDecks().getConstructed(), this, newCreator); controller = new DeckController<Deck>(AllZone.getDecks().getConstructed(), this, newCreator);
} }
private void jbInit() { private void jbInit() {
@@ -388,7 +388,7 @@ public final class DeckEditorConstructed extends DeckEditorBase<CardPrinted, Dec
* @see forge.gui.deckeditor.DeckEditorBase#getController() * @see forge.gui.deckeditor.DeckEditorBase#getController()
*/ */
@Override @Override
public IDeckManager<Deck> getController() { public IDeckController<Deck> getController() {
return controller; return controller;
} }

View File

@@ -72,7 +72,7 @@ public final class DeckEditorLimited extends DeckEditorBase<CardPrinted, DeckSet
private final JLabel jLabelAnalysisGap = new JLabel(""); private final JLabel jLabelAnalysisGap = new JLabel("");
private FilterNameTypeSetPanel filterNameTypeSet; private FilterNameTypeSetPanel filterNameTypeSet;
private final DeckManagerOnDisk<DeckSet> controller; private final DeckController<DeckSet> controller;
/** /**
* Show. * Show.
@@ -153,7 +153,7 @@ public final class DeckEditorLimited extends DeckEditorBase<CardPrinted, DeckSet
} }
Lambda0<DeckSet> newCreator = new Lambda0<DeckSet>(){ @Override public DeckSet apply() { return new DeckSet(""); } }; Lambda0<DeckSet> newCreator = new Lambda0<DeckSet>(){ @Override public DeckSet apply() { return new DeckSet(""); } };
controller = new DeckManagerOnDisk<DeckSet>(deckMap, this, newCreator); controller = new DeckController<DeckSet>(deckMap, this, newCreator);
} }
private void jbInit() { private void jbInit() {
@@ -379,7 +379,7 @@ public final class DeckEditorLimited extends DeckEditorBase<CardPrinted, DeckSet
* @see forge.gui.deckeditor.DeckEditorBase#getController() * @see forge.gui.deckeditor.DeckEditorBase#getController()
*/ */
@Override @Override
public IDeckManager<DeckSet> getController() { public IDeckController<DeckSet> getController() {
return controller; return controller;
} }

View File

@@ -30,6 +30,7 @@ import java.util.List;
import javax.swing.JButton; import javax.swing.JButton;
import javax.swing.JCheckBox; import javax.swing.JCheckBox;
import net.slightlymagic.braids.util.lambda.Lambda0;
import net.slightlymagic.maxmtg.Predicate; import net.slightlymagic.maxmtg.Predicate;
import forge.Command; import forge.Command;
import forge.Constant; import forge.Constant;
@@ -73,7 +74,7 @@ public final class DeckEditorQuest extends DeckEditorBase<CardPrinted, Deck> {
private FilterNameTypeSetPanel filterNameTypeSet; private FilterNameTypeSetPanel filterNameTypeSet;
private final QuestData questData; private final QuestData questData;
private final DeckManagerQuest controller; private final DeckController<Deck> controller ;
/** /**
* Show. * Show.
@@ -185,7 +186,8 @@ public final class DeckEditorQuest extends DeckEditorBase<CardPrinted, Deck> {
ErrorViewer.showError(ex); ErrorViewer.showError(ex);
} }
controller = new DeckManagerQuest(questData2, this); Lambda0<Deck> newCreator = new Lambda0<Deck>(){ @Override public Deck apply() { return new Deck(); } };
controller = new DeckController<Deck>(questData2.getMyDecks(), this, newCreator);
} }
private void jbInit() throws Exception { private void jbInit() throws Exception {
@@ -350,7 +352,7 @@ public final class DeckEditorQuest extends DeckEditorBase<CardPrinted, Deck> {
* @see forge.gui.deckeditor.DeckEditorBase#getController() * @see forge.gui.deckeditor.DeckEditorBase#getController()
*/ */
@Override @Override
public IDeckManager<Deck> getController() { public IDeckController<Deck> getController() {
return controller; return controller;
} }

View File

@@ -1,172 +0,0 @@
package forge.gui.deckeditor;
import java.awt.Component;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import forge.deck.Deck;
import forge.quest.data.QuestData;
/**
* TODO: Write javadoc for this type.
*
*/
public class DeckManagerQuest implements IDeckManager<Deck>{
private Deck model;
private boolean saved;
private boolean modelInStore;
private final Map<String, Deck> decks;
private final DeckEditorBase<?, Deck> view;
public DeckManagerQuest(QuestData questData0, DeckEditorBase<?, Deck> view0)
{
decks = questData0.getMyDecks();
view = view0;
}
@Override
public Deck getModel() { return model; }
/* (non-Javadoc)
* @see forge.gui.deckeditor.IDeckManager#newModel()
*/
@Override
public void newModel() {
setModel(new Deck());
}
/**
* @param document0 the document to set
*/
public void setModel(Deck document) {
setModel( document, false );
}
public void setModel(Deck document, boolean isStored) {
modelInStore = isStored;
this.model = document;
view.updateView();
saved = true; // unless set to false in notify
}
/* (non-Javadoc)
* @see forge.gui.deckeditor.IDeckManager#getModel()
*/
/* (non-Javadoc)
* @see forge.gui.deckeditor.IDeckManager#notifyModelChanged()
*/
@Override
public void notifyModelChanged() {
saved = false;
// view.setTitle()
}
/* (non-Javadoc)
* @see forge.gui.deckeditor.IDeckManager#getOwnerWindow()
*/
@Override
public Component getOwnerWindow() {
return view;
}
/* (non-Javadoc)
* @see forge.gui.deckeditor.IDeckManager#getView()
*/
@Override
public DeckEditorBase<?, Deck> getView() {
return view;
}
/* (non-Javadoc)
* @see forge.gui.deckeditor.IDeckManager#getSavedNames()
*/
@Override
public List<String> getSavedNames() {
return new ArrayList<String>(decks.keySet());
}
/* (non-Javadoc)
* @see forge.gui.deckeditor.IDeckManager#load(java.lang.String)
*/
@Override
public void load(String name) {
Deck deck = decks.get(name);
if ( null != deck )
setModel(deck, true);
}
/* (non-Javadoc)
* @see forge.gui.deckeditor.IDeckManager#save()
*/
@Override
public void save() {
decks.put(model.getName(), model);
// save to disk is done from outside
}
/* (non-Javadoc)
* @see forge.gui.deckeditor.IDeckManager#isSaved()
*/
@Override
public boolean isSaved() {
return saved;
}
/* (non-Javadoc)
* @see forge.gui.deckeditor.IDeckManager#delete()
*/
@Override
public void delete() {
if ( StringUtils.isNotBlank(model.getName())) {
decks.remove(model.getName());
}
modelInStore = false;
newModel();
}
/* (non-Javadoc)
* @see forge.gui.deckeditor.IDeckManager#isGoodName(java.lang.String)
*/
@Override
public boolean isGoodName(String deckName) {
return false;
}
/* (non-Javadoc)
* @see forge.gui.deckeditor.IDeckManager#importDeck(java.lang.Object)
*/
@Override
public void importDeck(Deck newDeck) {
}
/* (non-Javadoc)
* @see forge.gui.deckeditor.IDeckManager#isModelInStore()
*/
@Override
public boolean isModelInStore() {
return modelInStore;
}
/* (non-Javadoc)
* @see forge.gui.deckeditor.IDeckManager#saveAs(java.lang.String)
*/
@Override
public void saveAs(String name0) {
}
/* (non-Javadoc)
* @see forge.gui.deckeditor.IDeckManager#fileExists(java.lang.String)
*/
@Override
public boolean fileExists(String deckName) {
return false;
}
}

View File

@@ -355,7 +355,7 @@ public class DraftingProcess extends DeckEditorBase<CardPrinted, DeckSet> {
* @see forge.gui.deckeditor.DeckEditorBase#getController() * @see forge.gui.deckeditor.DeckEditorBase#getController()
*/ */
@Override @Override
public IDeckManager<DeckSet> getController() { public IDeckController<DeckSet> getController() {
return null; return null;
} }

View File

@@ -7,7 +7,7 @@ import java.util.List;
* TODO: Write javadoc for this type. * TODO: Write javadoc for this type.
* *
*/ */
public interface IDeckManager<T> { public interface IDeckController<T> {
void newModel(); void newModel();
void setModel(T model); void setModel(T model);

View File

@@ -46,7 +46,7 @@ public class MenuBase<T extends DeckBase> extends JMenuBar {
private static final long serialVersionUID = -4037993759604768755L; private static final long serialVersionUID = -4037993759604768755L;
private final Command exitCommand; private final Command exitCommand;
private final IDeckManager<T> controller; private final IDeckController<T> controller;
/** /**
* *
@@ -59,14 +59,14 @@ public class MenuBase<T extends DeckBase> extends JMenuBar {
* @param exit * @param exit
* a Command * a Command
*/ */
public MenuBase(final IDeckManager<T> ctrl, final Command exit) { public MenuBase(final IDeckController<T> ctrl, final Command exit) {
this.controller = ctrl; this.controller = ctrl;
this.exitCommand = exit; this.exitCommand = exit;
this.setupMenu(); this.setupMenu();
} }
protected final IDeckManager<T> getController() { protected final IDeckController<T> getController() {
return controller; return controller;
} }

View File

@@ -59,7 +59,7 @@ public final class MenuCommon extends MenuBase<Deck> {
* @param exit * @param exit
* a Command * a Command
*/ */
public MenuCommon(final IDeckManager<Deck> ctrl, final Command exit) { public MenuCommon(final IDeckController<Deck> ctrl, final Command exit) {
super(ctrl, exit); super(ctrl, exit);
// this is added just to make save() and saveAs() work ok // this is added just to make save() and saveAs() work ok

View File

@@ -44,7 +44,7 @@ public final class MenuLimited extends MenuBase<DeckSet> {
* @param exit * @param exit
* a Command * a Command
*/ */
public MenuLimited(final IDeckManager<DeckSet> ctrl, final Command exit) { public MenuLimited(final IDeckController<DeckSet> ctrl, final Command exit) {
super( ctrl, exit ); super( ctrl, exit );
} }

View File

@@ -66,7 +66,7 @@ public class MenuQuest extends MenuBase<Deck> {
* @param exit * @param exit
* a {@link forge.Command} object. * a {@link forge.Command} object.
*/ */
public MenuQuest(final IDeckManager<Deck> d, final Command exit) { public MenuQuest(final IDeckController<Deck> d, final Command exit) {
super(d, exit); super(d, exit);

View File

@@ -144,7 +144,7 @@ public final class QuestCardShop extends DeckEditorBase<InventoryItem, Object> {
// fills number of decks using each card // fills number of decks using each card
private Map<CardPrinted, Integer> countDecksForEachCard() { private Map<CardPrinted, Integer> countDecksForEachCard() {
final Map<CardPrinted, Integer> result = new HashMap<CardPrinted, Integer>(); final Map<CardPrinted, Integer> result = new HashMap<CardPrinted, Integer>();
for (final Deck deck : this.questData.getMyDecks().values()) { for (final Deck deck : this.questData.getMyDecks()) {
for (final Entry<CardPrinted, Integer> e : deck.getMain()) { for (final Entry<CardPrinted, Integer> e : deck.getMain()) {
final CardPrinted card = e.getKey(); final CardPrinted card = e.getKey();
final Integer amount = result.get(card); final Integer amount = result.get(card);
@@ -420,7 +420,7 @@ public final class QuestCardShop extends DeckEditorBase<InventoryItem, Object> {
* @see forge.gui.deckeditor.DeckEditorBase#getController() * @see forge.gui.deckeditor.DeckEditorBase#getController()
*/ */
@Override @Override
public IDeckManager<Object> getController() { public IDeckController<Object> getController() {
return null; return null;
} }

View File

@@ -26,7 +26,6 @@ import net.slightlymagic.maxmtg.Predicate;
import forge.SetUtils; import forge.SetUtils;
import forge.Singletons; import forge.Singletons;
import forge.deck.Deck; import forge.deck.Deck;
import forge.error.ErrorViewer;
import forge.item.CardPrinted; import forge.item.CardPrinted;
import forge.item.InventoryItem; import forge.item.InventoryItem;
import forge.item.ItemPool; import forge.item.ItemPool;
@@ -36,6 +35,7 @@ import forge.properties.NewConstants;
import forge.quest.data.QuestPreferences.QPref; import forge.quest.data.QuestPreferences.QPref;
import forge.quest.data.item.QuestInventory; import forge.quest.data.item.QuestInventory;
import forge.quest.data.pet.QuestPetManager; import forge.quest.data.pet.QuestPetManager;
import forge.util.IFolderMap;
import forge.util.MyRandom; import forge.util.MyRandom;
//when you create QuestDataOld and AFTER you copy the AI decks over //when you create QuestDataOld and AFTER you copy the AI decks over
@@ -115,7 +115,9 @@ public final class QuestData {
// Decks collected by player // Decks collected by player
/** The my decks. */ /** The my decks. */
private final Map<String, Deck> myDecks = new HashMap<String, Deck>(); private final HashMap<String, Deck> myDecks = new HashMap<String, Deck>();
private transient IFolderMap<Deck> decks;
// Cards associated with quest // Cards associated with quest
/** The card pool. */ /** The card pool. */
@@ -204,6 +206,7 @@ public final class QuestData {
private void initTransients() { private void initTransients() {
// These are helper classes that hold no data. // These are helper classes that hold no data.
this.decks = new QuestDeckMap(myDecks);
this.myCards = new QuestUtilCards(this); this.myCards = new QuestUtilCards(this);
// to avoid NPE some pools will be created here if they are null // to avoid NPE some pools will be created here if they are null
@@ -549,41 +552,6 @@ public final class QuestData {
// decks management // decks management
/** @return List<Deck> */
public List<Deck> getDecks() {
return new ArrayList<Deck>(this.getMyDecks().values());
}
/**
* Removes the deck.
*
* @param deckName
* the deck name
*/
public void removeDeck(final String deckName) {
this.getMyDecks().remove(deckName);
}
/**
* <p>
* getDeck.
* </p>
*
* @param deckName
* a {@link java.lang.String} object.
* @return a {@link forge.deck.Deck} object.
*/
public Deck getDeck(final String deckName) {
if (!this.getMyDecks().containsKey(deckName)) {
ErrorViewer.showError(new Exception(),
"QuestData : getDeckFromMap(String deckName) error, deck name not found - %s", deckName);
return null;
}
final Deck d = this.getMyDecks().get(deckName);
d.getSideboard().clear();
return d;
}
// randomizer - related // randomizer - related
/** /**
* Gets the random seed. * Gets the random seed.
@@ -674,8 +642,8 @@ public final class QuestData {
* *
* @return the myDecks * @return the myDecks
*/ */
public Map<String, Deck> getMyDecks() { public IFolderMap<Deck> getMyDecks() {
return this.myDecks; return this.decks;
} }

View File

@@ -0,0 +1,75 @@
package forge.quest.data;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import forge.deck.Deck;
import forge.util.IFolderMap;
/**
* TODO: Write javadoc for this type.
*
*/
public class QuestDeckMap implements IFolderMap<Deck> {
public QuestDeckMap() {
map = new HashMap<String,Deck>();
}
public QuestDeckMap(Map<String,Deck> inMap) {
map = inMap;
}
private final Map<String, Deck> map;
/* (non-Javadoc)
* @see forge.util.IFolderMapView#get(java.lang.String)
*/
@Override
public Deck get(String name) {
return map.get(name);
}
/* (non-Javadoc)
* @see forge.util.IFolderMapView#getNames()
*/
@Override
public Collection<String> getNames() {
return map.keySet();
}
/* (non-Javadoc)
* @see java.lang.Iterable#iterator()
*/
@Override
public Iterator<Deck> iterator() {
return map.values().iterator();
}
/* (non-Javadoc)
* @see forge.util.IFolderMap#add(forge.util.IHasName)
*/
@Override
public void add(Deck deck) {
map.put(deck.getName(), deck);
}
/* (non-Javadoc)
* @see forge.util.IFolderMap#delete(java.lang.String)
*/
@Override
public void delete(String deckName) {
map.remove(deckName);
}
/* (non-Javadoc)
* @see forge.util.IFolderMap#isUnique(java.lang.String)
*/
@Override
public boolean isUnique(String name) {
return !map.containsKey(name);
}
}

View File

@@ -223,7 +223,7 @@ public final class QuestUtilCards {
if (this.q.getCredits() >= value) { if (this.q.getCredits() >= value) {
this.q.setCredits(this.q.getCredits() - value); this.q.setCredits(this.q.getCredits() - value);
this.q.getShopList().remove(precon); this.q.getShopList().remove(precon);
this.q.getMyDecks().put(precon.getDeck().getName(), precon.getDeck()); this.q.getMyDecks().add(precon.getDeck());
this.addAllCards(precon.getDeck().getMain().toFlatList()); this.addAllCards(precon.getDeck().getMain().toFlatList());
} }
} }
@@ -262,7 +262,7 @@ public final class QuestUtilCards {
// remove card being sold from all decks // remove card being sold from all decks
final int leftInPool = this.q.getCardPool().count(card); final int leftInPool = this.q.getCardPool().count(card);
// remove sold cards from all decks: // remove sold cards from all decks:
for (final Deck deck : this.q.getMyDecks().values()) { for (final Deck deck : this.q.getMyDecks()) {
deck.getMain().remove(card, deck.getMain().count(card) - leftInPool); deck.getMain().remove(card, deck.getMain().count(card) - leftInPool);
} }
} }

View File

@@ -399,7 +399,7 @@ public class DeckLister extends JPanel {
AllZone.getDecks().getSealed().delete(d0.getName()); AllZone.getDecks().getSealed().delete(d0.getName());
} }
else if (gametype.equals(GameType.Quest)) { else if (gametype.equals(GameType.Quest)) {
AllZone.getQuestData().removeDeck(d0.getName()); AllZone.getQuestData().getMyDecks().delete(d0.getName());
AllZone.getQuestData().saveData(); AllZone.getQuestData().saveData();
Singletons.getView().getViewHome().getBtnQuest().grabFocus(); Singletons.getView().getViewHome().getBtnQuest().grabFocus();
} }