mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 10:48:00 +00:00
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:
6
.gitattributes
vendored
6
.gitattributes
vendored
@@ -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/MultiLineLabelUI.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/DeckEditorConstructed.java svneol=native#text/plain
|
||||
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/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/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/MenuCommon.java svneol=native#text/plain
|
||||
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/QuestData.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/QuestEvent.java -text
|
||||
src/main/java/forge/quest/data/QuestEventManager.java svneol=native#text/plain
|
||||
|
||||
@@ -9,7 +9,6 @@ import java.io.File;
|
||||
import java.io.FilenameFilter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
@@ -399,21 +398,20 @@ public class ControlQuest {
|
||||
/** Resets decks, then retrieves and sets current deck. */
|
||||
public void refreshDecks() {
|
||||
// Retrieve and set all decks
|
||||
|
||||
List<Deck> temp = new ArrayList<Deck>();
|
||||
if (qData != null) {
|
||||
temp.addAll(qData.getMyDecks().values());
|
||||
}
|
||||
view.getLstDecks().setDecks(temp);
|
||||
view.getLstDecks().setDecks(qData != null ? qData.getMyDecks() : new ArrayList<Deck>() );
|
||||
|
||||
// Look through list for preferred deck from prefs
|
||||
currentDeck = null;
|
||||
final String cd = qPrefs.getPreference(QPref.CURRENT_DECK);
|
||||
for (Deck d : temp) {
|
||||
if (d.getName().equals(cd)) {
|
||||
currentDeck = d;
|
||||
view.getLstDecks().setSelectedDeck(d);
|
||||
break;
|
||||
|
||||
if( qData != null)
|
||||
{
|
||||
final String cd = qPrefs.getPreference(QPref.CURRENT_DECK);
|
||||
for (Deck d : qData.getMyDecks()) {
|
||||
if (d.getName().equals(cd)) {
|
||||
currentDeck = d;
|
||||
view.getLstDecks().setSelectedDeck(d);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -109,21 +109,16 @@ public class CustomLimited extends DeckBase {
|
||||
Map<String, String> data = SectionUtil.parseKvPairs(dfData, ":");
|
||||
|
||||
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) {
|
||||
final String[] v = dd.split(":", 2);
|
||||
final String key = v[0];
|
||||
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")) {
|
||||
cd.setLandSetCode(value);
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ import forge.util.IFolderMap;
|
||||
* 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 boolean saved;
|
||||
@@ -22,7 +22,7 @@ public class DeckManagerOnDisk<T extends DeckBase> implements IDeckManager<T> {
|
||||
private final DeckEditorBase<?, T> view;
|
||||
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;
|
||||
view = view0;
|
||||
@@ -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
|
||||
// or may be return abstract getFilter from derived class + this filter ...
|
||||
|
||||
@@ -75,7 +75,7 @@ public final class DeckEditorConstructed extends DeckEditorBase<CardPrinted, Dec
|
||||
private final JLabel jLabelAnalysisGap = new JLabel("");
|
||||
private FilterNameTypeSetPanel filterNameTypeSet;
|
||||
|
||||
private final IDeckManager<Deck> controller;
|
||||
private final IDeckController<Deck> controller;
|
||||
/**
|
||||
* 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(); } };
|
||||
controller = new DeckManagerOnDisk<Deck>(AllZone.getDecks().getConstructed(), this, newCreator);
|
||||
controller = new DeckController<Deck>(AllZone.getDecks().getConstructed(), this, newCreator);
|
||||
}
|
||||
|
||||
private void jbInit() {
|
||||
@@ -388,7 +388,7 @@ public final class DeckEditorConstructed extends DeckEditorBase<CardPrinted, Dec
|
||||
* @see forge.gui.deckeditor.DeckEditorBase#getController()
|
||||
*/
|
||||
@Override
|
||||
public IDeckManager<Deck> getController() {
|
||||
public IDeckController<Deck> getController() {
|
||||
return controller;
|
||||
}
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ public final class DeckEditorLimited extends DeckEditorBase<CardPrinted, DeckSet
|
||||
private final JLabel jLabelAnalysisGap = new JLabel("");
|
||||
private FilterNameTypeSetPanel filterNameTypeSet;
|
||||
|
||||
private final DeckManagerOnDisk<DeckSet> controller;
|
||||
private final DeckController<DeckSet> controller;
|
||||
|
||||
/**
|
||||
* 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(""); } };
|
||||
controller = new DeckManagerOnDisk<DeckSet>(deckMap, this, newCreator);
|
||||
controller = new DeckController<DeckSet>(deckMap, this, newCreator);
|
||||
}
|
||||
|
||||
private void jbInit() {
|
||||
@@ -379,7 +379,7 @@ public final class DeckEditorLimited extends DeckEditorBase<CardPrinted, DeckSet
|
||||
* @see forge.gui.deckeditor.DeckEditorBase#getController()
|
||||
*/
|
||||
@Override
|
||||
public IDeckManager<DeckSet> getController() {
|
||||
public IDeckController<DeckSet> getController() {
|
||||
return controller;
|
||||
}
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ import java.util.List;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JCheckBox;
|
||||
|
||||
import net.slightlymagic.braids.util.lambda.Lambda0;
|
||||
import net.slightlymagic.maxmtg.Predicate;
|
||||
import forge.Command;
|
||||
import forge.Constant;
|
||||
@@ -73,7 +74,7 @@ public final class DeckEditorQuest extends DeckEditorBase<CardPrinted, Deck> {
|
||||
private FilterNameTypeSetPanel filterNameTypeSet;
|
||||
|
||||
private final QuestData questData;
|
||||
private final DeckManagerQuest controller;
|
||||
private final DeckController<Deck> controller ;
|
||||
|
||||
/**
|
||||
* Show.
|
||||
@@ -185,7 +186,8 @@ public final class DeckEditorQuest extends DeckEditorBase<CardPrinted, Deck> {
|
||||
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 {
|
||||
@@ -350,7 +352,7 @@ public final class DeckEditorQuest extends DeckEditorBase<CardPrinted, Deck> {
|
||||
* @see forge.gui.deckeditor.DeckEditorBase#getController()
|
||||
*/
|
||||
@Override
|
||||
public IDeckManager<Deck> getController() {
|
||||
public IDeckController<Deck> getController() {
|
||||
return controller;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -355,7 +355,7 @@ public class DraftingProcess extends DeckEditorBase<CardPrinted, DeckSet> {
|
||||
* @see forge.gui.deckeditor.DeckEditorBase#getController()
|
||||
*/
|
||||
@Override
|
||||
public IDeckManager<DeckSet> getController() {
|
||||
public IDeckController<DeckSet> getController() {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ import java.util.List;
|
||||
* TODO: Write javadoc for this type.
|
||||
*
|
||||
*/
|
||||
public interface IDeckManager<T> {
|
||||
public interface IDeckController<T> {
|
||||
|
||||
void newModel();
|
||||
void setModel(T model);
|
||||
@@ -46,7 +46,7 @@ public class MenuBase<T extends DeckBase> extends JMenuBar {
|
||||
|
||||
private static final long serialVersionUID = -4037993759604768755L;
|
||||
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
|
||||
* a Command
|
||||
*/
|
||||
public MenuBase(final IDeckManager<T> ctrl, final Command exit) {
|
||||
public MenuBase(final IDeckController<T> ctrl, final Command exit) {
|
||||
this.controller = ctrl;
|
||||
this.exitCommand = exit;
|
||||
|
||||
this.setupMenu();
|
||||
}
|
||||
|
||||
protected final IDeckManager<T> getController() {
|
||||
protected final IDeckController<T> getController() {
|
||||
return controller;
|
||||
}
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ public final class MenuCommon extends MenuBase<Deck> {
|
||||
* @param exit
|
||||
* a Command
|
||||
*/
|
||||
public MenuCommon(final IDeckManager<Deck> ctrl, final Command exit) {
|
||||
public MenuCommon(final IDeckController<Deck> ctrl, final Command exit) {
|
||||
super(ctrl, exit);
|
||||
|
||||
// this is added just to make save() and saveAs() work ok
|
||||
|
||||
@@ -44,7 +44,7 @@ public final class MenuLimited extends MenuBase<DeckSet> {
|
||||
* @param exit
|
||||
* a Command
|
||||
*/
|
||||
public MenuLimited(final IDeckManager<DeckSet> ctrl, final Command exit) {
|
||||
public MenuLimited(final IDeckController<DeckSet> ctrl, final Command exit) {
|
||||
super( ctrl, exit );
|
||||
}
|
||||
|
||||
|
||||
@@ -66,7 +66,7 @@ public class MenuQuest extends MenuBase<Deck> {
|
||||
* @param exit
|
||||
* 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);
|
||||
|
||||
|
||||
@@ -144,7 +144,7 @@ public final class QuestCardShop extends DeckEditorBase<InventoryItem, Object> {
|
||||
// fills number of decks using each card
|
||||
private Map<CardPrinted, Integer> countDecksForEachCard() {
|
||||
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()) {
|
||||
final CardPrinted card = e.getKey();
|
||||
final Integer amount = result.get(card);
|
||||
@@ -420,7 +420,7 @@ public final class QuestCardShop extends DeckEditorBase<InventoryItem, Object> {
|
||||
* @see forge.gui.deckeditor.DeckEditorBase#getController()
|
||||
*/
|
||||
@Override
|
||||
public IDeckManager<Object> getController() {
|
||||
public IDeckController<Object> getController() {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -26,7 +26,6 @@ import net.slightlymagic.maxmtg.Predicate;
|
||||
import forge.SetUtils;
|
||||
import forge.Singletons;
|
||||
import forge.deck.Deck;
|
||||
import forge.error.ErrorViewer;
|
||||
import forge.item.CardPrinted;
|
||||
import forge.item.InventoryItem;
|
||||
import forge.item.ItemPool;
|
||||
@@ -36,6 +35,7 @@ import forge.properties.NewConstants;
|
||||
import forge.quest.data.QuestPreferences.QPref;
|
||||
import forge.quest.data.item.QuestInventory;
|
||||
import forge.quest.data.pet.QuestPetManager;
|
||||
import forge.util.IFolderMap;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
//when you create QuestDataOld and AFTER you copy the AI decks over
|
||||
@@ -115,7 +115,9 @@ public final class QuestData {
|
||||
|
||||
// Decks collected by player
|
||||
/** 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
|
||||
/** The card pool. */
|
||||
@@ -204,6 +206,7 @@ public final class QuestData {
|
||||
|
||||
private void initTransients() {
|
||||
// These are helper classes that hold no data.
|
||||
this.decks = new QuestDeckMap(myDecks);
|
||||
this.myCards = new QuestUtilCards(this);
|
||||
|
||||
// to avoid NPE some pools will be created here if they are null
|
||||
@@ -549,41 +552,6 @@ public final class QuestData {
|
||||
// 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
|
||||
/**
|
||||
* Gets the random seed.
|
||||
@@ -674,8 +642,8 @@ public final class QuestData {
|
||||
*
|
||||
* @return the myDecks
|
||||
*/
|
||||
public Map<String, Deck> getMyDecks() {
|
||||
return this.myDecks;
|
||||
public IFolderMap<Deck> getMyDecks() {
|
||||
return this.decks;
|
||||
}
|
||||
|
||||
|
||||
|
||||
75
src/main/java/forge/quest/data/QuestDeckMap.java
Normal file
75
src/main/java/forge/quest/data/QuestDeckMap.java
Normal 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);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -223,7 +223,7 @@ public final class QuestUtilCards {
|
||||
if (this.q.getCredits() >= value) {
|
||||
this.q.setCredits(this.q.getCredits() - value);
|
||||
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());
|
||||
}
|
||||
}
|
||||
@@ -262,7 +262,7 @@ public final class QuestUtilCards {
|
||||
// remove card being sold from all decks
|
||||
final int leftInPool = this.q.getCardPool().count(card);
|
||||
// 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -399,7 +399,7 @@ public class DeckLister extends JPanel {
|
||||
AllZone.getDecks().getSealed().delete(d0.getName());
|
||||
}
|
||||
else if (gametype.equals(GameType.Quest)) {
|
||||
AllZone.getQuestData().removeDeck(d0.getName());
|
||||
AllZone.getQuestData().getMyDecks().delete(d0.getName());
|
||||
AllZone.getQuestData().saveData();
|
||||
Singletons.getView().getViewHome().getBtnQuest().grabFocus();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user