From d2b475ee3551a6bd6afa9d027919dd85cdc1be9c Mon Sep 17 00:00:00 2001 From: Maxmtg Date: Fri, 23 Mar 2012 05:33:42 +0000 Subject: [PATCH] Separate QuestEventManager instances for Duels and challenges. --- src/main/java/forge/Card.java | 2 +- .../gui/home/quest/CSubmenuChallenges.java | 2 +- .../forge/gui/home/quest/CSubmenuDuels.java | 2 +- .../gui/home/quest/SubmenuQuestUtil.java | 3 +- .../home/sanctioned/CSubmenuConstructed.java | 8 ++--- .../java/forge/properties/NewConstants.java | 3 +- .../java/forge/quest/QuestController.java | 35 ++++++++++++------- 7 files changed, 34 insertions(+), 21 deletions(-) diff --git a/src/main/java/forge/Card.java b/src/main/java/forge/Card.java index 4541fa7bb8a..c3178e6e834 100644 --- a/src/main/java/forge/Card.java +++ b/src/main/java/forge/Card.java @@ -67,7 +67,7 @@ public class Card extends GameEntity implements Comparable { private long value; - private final Map characteristicsMap = new HashMap(); + private final Map characteristicsMap = new HashMap(2); private String curCharacteristics = "Original"; private String preTFDCharacteristic = "Original"; diff --git a/src/main/java/forge/gui/home/quest/CSubmenuChallenges.java b/src/main/java/forge/gui/home/quest/CSubmenuChallenges.java index dfca16556b6..1488af50c1e 100644 --- a/src/main/java/forge/gui/home/quest/CSubmenuChallenges.java +++ b/src/main/java/forge/gui/home/quest/CSubmenuChallenges.java @@ -117,7 +117,7 @@ public enum CSubmenuChallenges implements ICSubmenu { view.getLblTitle().setText("Challenges: " + AllZone.getQuest().getRank()); view.getPnlChallenges().removeAll(); - final List challenges = AllZone.getQuest().getEventManager().generateChallenges(); + final List challenges = AllZone.getQuest().getChallengesManager().generateChallenges(); for (final QuestEventChallenge c : challenges) { final SelectablePanel temp = new SelectablePanel(c); diff --git a/src/main/java/forge/gui/home/quest/CSubmenuDuels.java b/src/main/java/forge/gui/home/quest/CSubmenuDuels.java index 1997ecaff45..64d3e2a7523 100644 --- a/src/main/java/forge/gui/home/quest/CSubmenuDuels.java +++ b/src/main/java/forge/gui/home/quest/CSubmenuDuels.java @@ -100,7 +100,7 @@ public enum CSubmenuDuels implements ICSubmenu { view.getLblTitle().setText("Duels: " + AllZone.getQuest().getRank()); view.getPnlDuels().removeAll(); - final List duels = AllZone.getQuest().getEventManager().generateDuels(); + final List duels = AllZone.getQuest().getDuelsManager().generateDuels(); for (final QuestEventDuel d : duels) { final SelectablePanel temp = new SelectablePanel(d); diff --git a/src/main/java/forge/gui/home/quest/SubmenuQuestUtil.java b/src/main/java/forge/gui/home/quest/SubmenuQuestUtil.java index bae5ac2c4f1..40637ed3fe4 100644 --- a/src/main/java/forge/gui/home/quest/SubmenuQuestUtil.java +++ b/src/main/java/forge/gui/home/quest/SubmenuQuestUtil.java @@ -227,7 +227,8 @@ public class SubmenuQuestUtil { Constant.Runtime.COMPUTER_DECK[0] = event.getEventDeck(); Constant.Runtime.setGameType(GameType.Quest); - qData.getEventManager().randomizeOpponents(); + qData.getChallengesManager().randomizeOpponents(); + qData.getDuelsManager().randomizeOpponents(); qData.setCurrentEvent(event); qData.save(); diff --git a/src/main/java/forge/gui/home/sanctioned/CSubmenuConstructed.java b/src/main/java/forge/gui/home/sanctioned/CSubmenuConstructed.java index 1c5f0723950..cadcc33dd9f 100644 --- a/src/main/java/forge/gui/home/sanctioned/CSubmenuConstructed.java +++ b/src/main/java/forge/gui/home/sanctioned/CSubmenuConstructed.java @@ -282,11 +282,11 @@ public enum CSubmenuConstructed implements ICSubmenu { final List eventNames = new ArrayList(); - for (final QuestEvent e : quest.getEventManager().getAllDuels()) { + for (final QuestEvent e : quest.getDuelsManager().getAllDuels()) { eventNames.add(e.getEventDeck().getName()); } - for (final QuestEvent e : quest.getEventManager().getAllChallenges()) { + for (final QuestEvent e : quest.getChallengesManager().getAllChallenges()) { eventNames.add(e.getEventDeck().getName()); } @@ -419,7 +419,7 @@ public enum CSubmenuConstructed implements ICSubmenu { deck.getMain().add(cards); } else if (lst0.getName().equals(ESubmenuConstructedTypes.QUESTEVENTS.toString())) { - deck = quest.getEventManager().getEvent(selection[0]).getEventDeck(); + deck = quest.getDuelsManager().getEvent(selection[0]).getEventDeck(); } // Custom deck else if (lst0.getName().equals(ESubmenuConstructedTypes.CUSTOM.toString())) { @@ -444,7 +444,7 @@ public enum CSubmenuConstructed implements ICSubmenu { deck = Singletons.getModel().getDecks().getConstructed().get(deckName); } else { - deck = quest.getEventManager().getEvent(deckName).getEventDeck(); + deck = quest.getDuelsManager().getEvent(deckName).getEventDeck(); } // Dump into map and display. diff --git a/src/main/java/forge/properties/NewConstants.java b/src/main/java/forge/properties/NewConstants.java index 4dd80aa900f..5d6954cfc08 100644 --- a/src/main/java/forge/properties/NewConstants.java +++ b/src/main/java/forge/properties/NewConstants.java @@ -198,7 +198,8 @@ public final class NewConstants { public static final String PREFS = "quest/prefs"; /** The DECKS. */ - public static final String DECKS = "quest/decks-dir"; + public static final String DUELS = "quest/duels-dir"; + public static final String CHALLENGES = "quest/challenges-dir"; /** The XMLDATA. */ public static final String XMLDATA = "quest/data-xml"; diff --git a/src/main/java/forge/quest/QuestController.java b/src/main/java/forge/quest/QuestController.java index e028dd2d188..759f91a9888 100644 --- a/src/main/java/forge/quest/QuestController.java +++ b/src/main/java/forge/quest/QuestController.java @@ -70,10 +70,11 @@ public class QuestController { /** The available quests. */ private List availableQuests = null; - private QuestEventManager eventManager = null; + private QuestEventManager duelManager = null; + private QuestEventManager challengesManager = null; private QuestBazaarManager bazaar = null; - + private QuestPetStorage pets = null; // This is used by shop. Had no idea where else to place this @@ -99,11 +100,12 @@ public class QuestController { public void selectPet(Integer slot, String name) { selectedPets.put(slot, name); } - + public String getSelectedPet(Integer slot) { return selectedPets.get(slot); - } - + } + + // Cards - class uses data from here /** * Gets the cards. @@ -162,7 +164,8 @@ public class QuestController { this.myCards = this.model == null ? null : new QuestUtilCards(this); this.currentEvent = null; - this.getEventManager().randomizeOpponents(); + this.getChallengesManager().randomizeOpponents(); + this.getDuelsManager().randomizeOpponents(); } /** @@ -316,18 +319,26 @@ public class QuestController { * * @return the event manager */ - public QuestEventManager getEventManager() { - if (this.eventManager == null) { - this.eventManager = new QuestEventManager(ForgeProps.getFile(NewConstants.Quest.DECKS)); + public QuestEventManager getDuelsManager() { + if (this.duelManager == null) { + this.duelManager = new QuestEventManager(ForgeProps.getFile(NewConstants.Quest.DUELS)); } - return this.eventManager; + return this.duelManager; } + public QuestEventManager getChallengesManager() { + if (this.challengesManager == null) { + this.challengesManager = new QuestEventManager(ForgeProps.getFile(NewConstants.Quest.CHALLENGES)); + } + return this.challengesManager; + } + + public QuestPetStorage getPetsStorage() { - if (this.pets == null) { + if ( this.pets == null ) { this.pets = new QuestPetStorage(ForgeProps.getFile(NewConstants.Quest.BAZAAR)); } - + return this.pets; }