QuestController moved to FModel,

AllZone.getPlayersInGame() inlined as gameState.getPlayers
This commit is contained in:
Maxmtg
2012-10-08 20:35:54 +00:00
parent d4b7f1d2dd
commit a509d612ae
47 changed files with 120 additions and 147 deletions

View File

@@ -35,7 +35,6 @@ import forge.game.zone.PlayerZone;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
import forge.properties.ForgeProps; import forge.properties.ForgeProps;
import forge.properties.NewConstants; import forge.properties.NewConstants;
import forge.quest.QuestController;
import forge.util.Aggregates; import forge.util.Aggregates;
@@ -58,9 +57,6 @@ public final class AllZone {
// blank // blank
} }
/** Global <code>questData</code>. */
private static forge.quest.QuestController quest = null;
/** Global <code>gauntletData</code>. */ /** Global <code>gauntletData</code>. */
private static forge.game.limited.GauntletMini gauntlet = null; private static forge.game.limited.GauntletMini gauntlet = null;
@@ -113,30 +109,6 @@ public final class AllZone {
return Aggregates.firstFieldEquals(players, Player.Accessors.FN_GET_TYPE, PlayerType.COMPUTER); return Aggregates.firstFieldEquals(players, Player.Accessors.FN_GET_TYPE, PlayerType.COMPUTER);
} }
/**
* get a list of all players participating in this game.
*
* @return a list of all player participating in this game
*/
public static List<Player> getPlayersInGame() {
return Singletons.getModel().getGameState().getPlayers();
}
/**
* <p>
* getQuestData.
* </p>
*
* @return a {@link forge.quest.data.QuestData} object.
* @since 1.0.15
*/
public static forge.quest.QuestController getQuest() {
if (null == quest) {
quest = new QuestController();
}
return AllZone.quest;
}
/** /**
* <p> * <p>
* getGauntletData. * getGauntletData.

View File

@@ -56,7 +56,7 @@ public abstract class AllZoneUtil {
if (zone == ZoneType.Stack) { if (zone == ZoneType.Stack) {
cards.addAll(AllZone.getStackZone().getCards()); cards.addAll(AllZone.getStackZone().getCards());
} else { } else {
for (final Player p : AllZone.getPlayersInGame()) { for (final Player p : Singletons.getModel().getGameState().getPlayers()) {
cards.addAll(p.getZone(zone).getCards()); cards.addAll(p.getZone(zone).getCards());
} }
} }
@@ -219,7 +219,7 @@ public abstract class AllZoneUtil {
*/ */
public static List<Card> getColorInPlay(final String color) { public static List<Card> getColorInPlay(final String color) {
final List<Card> cards = new ArrayList<Card>(); final List<Card> cards = new ArrayList<Card>();
for(Player p : AllZone.getPlayersInGame()) { for(Player p : Singletons.getModel().getGameState().getPlayers()) {
cards.addAll(getPlayerColorInPlay(p, color)); cards.addAll(getPlayerColorInPlay(p, color));
} }
return cards; return cards;
@@ -313,7 +313,7 @@ public abstract class AllZoneUtil {
*/ */
public static List<Card> getCardsInGame() { public static List<Card> getCardsInGame() {
final List<Card> all = new ArrayList<Card>(); final List<Card> all = new ArrayList<Card>();
for (final Player player : AllZone.getPlayersInGame()) { for (final Player player : Singletons.getModel().getGameState().getPlayers()) {
all.addAll(player.getZone(ZoneType.Graveyard).getCards()); all.addAll(player.getZone(ZoneType.Graveyard).getCards());
all.addAll(player.getZone(ZoneType.Hand).getCards()); all.addAll(player.getZone(ZoneType.Hand).getCards());
all.addAll(player.getZone(ZoneType.Library).getCards()); all.addAll(player.getZone(ZoneType.Library).getCards());

View File

@@ -627,7 +627,7 @@ public final class CardUtil {
final Card src) { final Card src) {
List<Card> res = new ArrayList<Card>(); List<Card> res = new ArrayList<Card>();
if (to != ZoneType.Stack) { if (to != ZoneType.Stack) {
for (Player p : AllZone.getPlayersInGame()) for (Player p : Singletons.getModel().getGameState().getPlayers())
res.addAll(p.getZone(to).getCardsAddedThisTurn(from)); res.addAll(p.getZone(to).getCardsAddedThisTurn(from));
} else { } else {
res.addAll(AllZone.getStackZone().getCardsAddedThisTurn(from)); res.addAll(AllZone.getStackZone().getCardsAddedThisTurn(from));

View File

@@ -412,7 +412,7 @@ public class GameAction {
} }
AllZone.getTriggerHandler().suppressMode(TriggerType.ChangesZone); AllZone.getTriggerHandler().suppressMode(TriggerType.ChangesZone);
for (Player p: AllZone.getPlayersInGame()) { for (Player p: Singletons.getModel().getGameState().getPlayers()) {
((PlayerZoneBattlefield)p.getZone(ZoneType.Battlefield)).setTriggers(false); ((PlayerZoneBattlefield)p.getZone(ZoneType.Battlefield)).setTriggers(false);
} }
@@ -433,7 +433,7 @@ public class GameAction {
AllZone.getTriggerHandler().runTrigger(TriggerType.ChangesController, runParams); AllZone.getTriggerHandler().runTrigger(TriggerType.ChangesController, runParams);
AllZone.getTriggerHandler().clearSuppression(TriggerType.ChangesZone); AllZone.getTriggerHandler().clearSuppression(TriggerType.ChangesZone);
for (Player p: AllZone.getPlayersInGame()) { for (Player p: Singletons.getModel().getGameState().getPlayers()) {
((PlayerZoneBattlefield)p.getZone(ZoneType.Battlefield)).setTriggers(true); ((PlayerZoneBattlefield)p.getZone(ZoneType.Battlefield)).setTriggers(true);
} }
} }

View File

@@ -2225,7 +2225,7 @@ public class AbilityFactory {
players.add(sa.getActivatingPlayer().getOpponent()); players.add(sa.getActivatingPlayer().getOpponent());
} }
} else { } else {
for (Player p : AllZone.getPlayersInGame()) { for (Player p : Singletons.getModel().getGameState().getPlayers()) {
if (p.isValid(defined, sa.getActivatingPlayer(), sa.getSourceCard())) { if (p.isValid(defined, sa.getActivatingPlayer(), sa.getSourceCard())) {
players.add(p); players.add(p);
} }

View File

@@ -27,7 +27,6 @@ import java.util.Random;
import com.google.common.base.Predicate; import com.google.common.base.Predicate;
import com.google.common.base.Predicates; import com.google.common.base.Predicates;
import forge.AllZone;
import forge.AllZoneUtil; import forge.AllZoneUtil;
import forge.Card; import forge.Card;
@@ -1405,7 +1404,7 @@ public class AbilityFactoryAttach {
if (tgt.canTgtPlayer()) { if (tgt.canTgtPlayer()) {
final ArrayList<Player> players = new ArrayList<Player>(); final ArrayList<Player> players = new ArrayList<Player>();
for (Player player : AllZone.getPlayersInGame()) { for (Player player : Singletons.getModel().getGameState().getPlayers()) {
if (player.isValid(tgt.getValidTgts(), aura.getActivatingPlayer(), source)) { if (player.isValid(tgt.getValidTgts(), aura.getActivatingPlayer(), source)) {
players.add(player); players.add(player);
} }

View File

@@ -2977,7 +2977,7 @@ public final class AbilityFactoryChangeZone {
// if Shuffle parameter exists, and any amount of cards were owned by // if Shuffle parameter exists, and any amount of cards were owned by
// that player, then shuffle that library // that player, then shuffle that library
if (params.containsKey("Shuffle")) { if (params.containsKey("Shuffle")) {
for( Player p : AllZone.getPlayersInGame()) { for( Player p : Singletons.getModel().getGameState().getPlayers()) {
if (Iterables.any(cards, CardPredicates.isOwner(p))) { if (Iterables.any(cards, CardPredicates.isOwner(p))) {
p.shuffle(); p.shuffle();
} }

View File

@@ -39,6 +39,7 @@ import forge.CardPredicates;
import forge.CardPredicates.Presets; import forge.CardPredicates.Presets;
import forge.CardUtil; import forge.CardUtil;
import forge.Constant; import forge.Constant;
import forge.Singletons;
import forge.card.cardfactory.CardFactoryUtil; import forge.card.cardfactory.CardFactoryUtil;
import forge.card.spellability.AbilityActivated; import forge.card.spellability.AbilityActivated;
import forge.card.spellability.AbilitySub; import forge.card.spellability.AbilitySub;
@@ -1305,7 +1306,7 @@ public final class AbilityFactoryChoose {
} }
final ArrayList<Player> choices = params.containsKey("Choices") ? AbilityFactory.getDefinedPlayers( final ArrayList<Player> choices = params.containsKey("Choices") ? AbilityFactory.getDefinedPlayers(
sa.getSourceCard(), params.get("Choices"), sa) : new ArrayList<Player>(AllZone.getPlayersInGame()); sa.getSourceCard(), params.get("Choices"), sa) : new ArrayList<Player>(Singletons.getModel().getGameState().getPlayers());
final String choiceDesc = params.containsKey("ChoiceTitle") ? params.get("ChoiceTitle") : "Choose a player"; final String choiceDesc = params.containsKey("ChoiceTitle") ? params.get("ChoiceTitle") : "Choose a player";

View File

@@ -1565,7 +1565,7 @@ public class AbilityFactoryCounters {
} }
} }
List<Player> players = AllZone.getPlayersInGame(); List<Player> players = Singletons.getModel().getGameState().getPlayers();
@Override @Override
public void selectPlayer(final Player player) { public void selectPlayer(final Player player) {

View File

@@ -798,7 +798,7 @@ public class AbilityFactoryPreventDamage {
} }
if (!players.equals("")) { if (!players.equals("")) {
final ArrayList<Player> playerList = new ArrayList<Player>(AllZone.getPlayersInGame()); final ArrayList<Player> playerList = new ArrayList<Player>(Singletons.getModel().getGameState().getPlayers());
for (final Player p : playerList) { for (final Player p : playerList) {
if (p.isValid(players, source.getController(), source)) { if (p.isValid(players, source.getController(), source)) {
p.addPreventNextDamage(numDam); p.addPreventNextDamage(numDam);

View File

@@ -521,7 +521,7 @@ public class AbilityFactoryTurns {
// Update observers // Update observers
AllZone.getStack().updateObservers(); AllZone.getStack().updateObservers();
for (Player p : AllZone.getPlayersInGame()) { for (Player p : Singletons.getModel().getGameState().getPlayers()) {
p.updateObservers(); p.updateObservers();
p.updateLabelObservers(); p.updateLabelObservers();
} }

View File

@@ -73,7 +73,7 @@ class CardFactoryEnchantments {
@Override @Override
public boolean canPlay() { public boolean canPlay() {
boolean haveGraveWithSomeCreatures = false; boolean haveGraveWithSomeCreatures = false;
for( Player p : AllZone.getPlayersInGame()) { for( Player p : Singletons.getModel().getGameState().getPlayers()) {
Iterable<Card> grave = CardLists.filter(p.getCardsIn(ZoneType.Graveyard), CardPredicates.Presets.CREATURES); Iterable<Card> grave = CardLists.filter(p.getCardsIn(ZoneType.Graveyard), CardPredicates.Presets.CREATURES);
if( Iterables.size(grave) > 1) if( Iterables.size(grave) > 1)
{ {

View File

@@ -574,7 +574,7 @@ public class CardFactorySorceries {
private final static void balanceLands(Spell card) private final static void balanceLands(Spell card)
{ {
List<List<Card>> lands = new ArrayList<List<Card>>(); List<List<Card>> lands = new ArrayList<List<Card>>();
for (Player p : AllZone.getPlayersInGame()) for (Player p : Singletons.getModel().getGameState().getPlayers())
{ {
lands.add(AllZoneUtil.getPlayerLandsInPlay(p)); lands.add(AllZoneUtil.getPlayerLandsInPlay(p));
} }
@@ -585,7 +585,7 @@ public class CardFactorySorceries {
min = Math.min(min, s); min = Math.min(min, s);
} }
Iterator<List<Card>> ll = lands.iterator(); Iterator<List<Card>> ll = lands.iterator();
for (Player p : AllZone.getPlayersInGame()) for (Player p : Singletons.getModel().getGameState().getPlayers())
{ {
List<Card> l = ll.next(); List<Card> l = ll.next();
int sac = l.size() - min; int sac = l.size() - min;
@@ -603,7 +603,7 @@ public class CardFactorySorceries {
private final static void balanceHands(Spell card) { private final static void balanceHands(Spell card) {
List<List<Card>> hands = new ArrayList<List<Card>>(); List<List<Card>> hands = new ArrayList<List<Card>>();
for (Player p : AllZone.getPlayersInGame()) for (Player p : Singletons.getModel().getGameState().getPlayers())
{ {
hands.add(p.getCardsIn(ZoneType.Hand)); hands.add(p.getCardsIn(ZoneType.Hand));
} }
@@ -613,7 +613,7 @@ public class CardFactorySorceries {
min = Math.min(min, s); min = Math.min(min, s);
} }
Iterator<List<Card>> hh = hands.iterator(); Iterator<List<Card>> hh = hands.iterator();
for (Player p : AllZone.getPlayersInGame()) for (Player p : Singletons.getModel().getGameState().getPlayers())
{ {
List<Card> h = hh.next(); List<Card> h = hh.next();
int sac = h.size() - min; int sac = h.size() - min;
@@ -624,7 +624,7 @@ public class CardFactorySorceries {
private final static void balanceCreatures(Spell card) { private final static void balanceCreatures(Spell card) {
List<List<Card>> creats = new ArrayList<List<Card>>(); List<List<Card>> creats = new ArrayList<List<Card>>();
for (Player p : AllZone.getPlayersInGame()) for (Player p : Singletons.getModel().getGameState().getPlayers())
{ {
creats.add(AllZoneUtil.getCreaturesInPlay(p)); creats.add(AllZoneUtil.getCreaturesInPlay(p));
} }
@@ -634,7 +634,7 @@ public class CardFactorySorceries {
min = Math.min(min, s); min = Math.min(min, s);
} }
Iterator<List<Card>> cc = creats.iterator(); Iterator<List<Card>> cc = creats.iterator();
for (Player p : AllZone.getPlayersInGame()) for (Player p : Singletons.getModel().getGameState().getPlayers())
{ {
List<Card> c = cc.next(); List<Card> c = cc.next();
int sac = c.size() - min; int sac = c.size() - min;
@@ -774,12 +774,12 @@ public class CardFactorySorceries {
@Override @Override
public void resolve() { public void resolve() {
int max = Integer.MIN_VALUE; int max = Integer.MIN_VALUE;
for (Player p : AllZone.getPlayersInGame()) for (Player p : Singletons.getModel().getGameState().getPlayers())
{ {
int s = p.getZone(ZoneType.Hand).size(); int s = p.getZone(ZoneType.Hand).size();
max = Math.max(max, s); max = Math.max(max, s);
} }
for (Player p : AllZone.getPlayersInGame()) for (Player p : Singletons.getModel().getGameState().getPlayers())
{ {
this.discardDraw(p, max); this.discardDraw(p, max);
} }
@@ -800,7 +800,7 @@ public class CardFactorySorceries {
@Override @Override
public void resolve() { public void resolve() {
List<String> types = new ArrayList<String>(); List<String> types = new ArrayList<String>();
for(Player p : AllZone.getPlayersInGame()) { for(Player p : Singletons.getModel().getGameState().getPlayers()) {
if ( p.isHuman() ) { if ( p.isHuman() ) {
types.add(GuiChoose.one("Which creature type?", Constant.CardTypes.CREATURE_TYPES)); types.add(GuiChoose.one("Which creature type?", Constant.CardTypes.CREATURE_TYPES));
} else { } else {
@@ -1306,7 +1306,7 @@ public class CardFactorySorceries {
List<Card> grave = card.getController().getCardsIn(ZoneType.Graveyard); List<Card> grave = card.getController().getCardsIn(ZoneType.Graveyard);
grave = CardLists.filter(grave, Presets.CREATURES); grave = CardLists.filter(grave, Presets.CREATURES);
for (Player p : AllZone.getPlayersInGame()) { for (Player p : Singletons.getModel().getGameState().getPlayers()) {
if (p.canBeTargetedBy(spell)) { if (p.canBeTargetedBy(spell)) {
display.add("Target player loses X life"); display.add("Target player loses X life");
break; break;

View File

@@ -2367,13 +2367,13 @@ public class CardFactoryUtil {
// Count$HighestLifeTotal // Count$HighestLifeTotal
if (sq[0].contains("HighestLifeTotal")) { if (sq[0].contains("HighestLifeTotal")) {
return CardFactoryUtil.doXMath( return CardFactoryUtil.doXMath(
Aggregates.max(AllZone.getPlayersInGame(), Player.Accessors.FN_GET_LIFE), m, c); Aggregates.max(Singletons.getModel().getGameState().getPlayers(), Player.Accessors.FN_GET_LIFE), m, c);
} }
// Count$LowestLifeTotal // Count$LowestLifeTotal
if (sq[0].contains("LowestLifeTotal")) { if (sq[0].contains("LowestLifeTotal")) {
return CardFactoryUtil.doXMath( return CardFactoryUtil.doXMath(
Aggregates.min(AllZone.getPlayersInGame(), Player.Accessors.FN_GET_LIFE), m, c); Aggregates.min(Singletons.getModel().getGameState().getPlayers(), Player.Accessors.FN_GET_LIFE), m, c);
} }
// Count$TopOfLibraryCMC // Count$TopOfLibraryCMC
@@ -2394,7 +2394,7 @@ public class CardFactoryUtil {
// Count$LowestLibrary // Count$LowestLibrary
if (sq[0].contains("LowestLibrary")) { if (sq[0].contains("LowestLibrary")) {
return Aggregates.min(AllZone.getPlayersInGame(), Player.Accessors.countCardsInZone(ZoneType.Library)); return Aggregates.min(Singletons.getModel().getGameState().getPlayers(), Player.Accessors.countCardsInZone(ZoneType.Library));
} }
// Count$Chroma.<mana letter> // Count$Chroma.<mana letter>
@@ -2466,7 +2466,7 @@ public class CardFactoryUtil {
} }
if (sq[0].contains("GraveyardWithGE20Cards")) { if (sq[0].contains("GraveyardWithGE20Cards")) {
if (Aggregates.max(AllZone.getPlayersInGame(), Player.Accessors.countCardsInZone(ZoneType.Graveyard)) >= 20) { if (Aggregates.max(Singletons.getModel().getGameState().getPlayers(), Player.Accessors.countCardsInZone(ZoneType.Graveyard)) >= 20) {
return CardFactoryUtil.doXMath(Integer.parseInt(sq[1]), m, c); return CardFactoryUtil.doXMath(Integer.parseInt(sq[1]), m, c);
} else { } else {
return CardFactoryUtil.doXMath(Integer.parseInt(sq[2]), m, c); return CardFactoryUtil.doXMath(Integer.parseInt(sq[2]), m, c);

View File

@@ -103,7 +103,7 @@ public class ReplacementHandler {
} }
// Round up Static replacement effects // Round up Static replacement effects
for (final Player p : AllZone.getPlayersInGame()) { for (final Player p : Singletons.getModel().getGameState().getPlayers()) {
for (final Card crd : p.getAllCards()) { for (final Card crd : p.getAllCards()) {
for (final ReplacementEffect replacementEffect : crd.getReplacementEffects()) { for (final ReplacementEffect replacementEffect : crd.getReplacementEffects()) {
if (replacementEffect.requirementsCheck()) { if (replacementEffect.requirementsCheck()) {

View File

@@ -21,10 +21,10 @@ import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import forge.AllZone;
import forge.AllZoneUtil; import forge.AllZoneUtil;
import forge.Card; import forge.Card;
import forge.CardUtil; import forge.CardUtil;
import forge.Singletons;
import forge.card.abilityfactory.AbilityFactory; import forge.card.abilityfactory.AbilityFactory;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
@@ -705,7 +705,7 @@ public class Target {
* @return a boolean. * @return a boolean.
*/ */
public final boolean hasCandidates(final SpellAbility sa, final boolean isTargeted) { public final boolean hasCandidates(final SpellAbility sa, final boolean isTargeted) {
for (Player player : AllZone.getPlayersInGame()) { for (Player player : Singletons.getModel().getGameState().getPlayers()) {
if (sa.canTarget(player)) { if (sa.canTarget(player)) {
return true; return true;
} }

View File

@@ -25,6 +25,7 @@ import java.util.List;
import forge.AllZone; import forge.AllZone;
import forge.AllZoneUtil; import forge.AllZoneUtil;
import forge.Card; import forge.Card;
import forge.Singletons;
import forge.CardLists; import forge.CardLists;
import forge.CardUtil; import forge.CardUtil;
@@ -407,7 +408,7 @@ public class StaticAbilityContinuous {
final String[] strngs = params.get("Affected").split(","); final String[] strngs = params.get("Affected").split(",");
for(Player p : AllZone.getPlayersInGame()) for(Player p : Singletons.getModel().getGameState().getPlayers())
if (p.isValid(strngs, controller, hostCard)) { if (p.isValid(strngs, controller, hostCard)) {
players.add(p); players.add(p);
} }

View File

@@ -160,7 +160,7 @@ public enum FControl {
final String questname = Singletons.getModel().getQuestPreferences().getPreference(QPref.CURRENT_QUEST); final String questname = Singletons.getModel().getQuestPreferences().getPreference(QPref.CURRENT_QUEST);
final File data = new File(dirQuests.getPath(), questname); final File data = new File(dirQuests.getPath(), questname);
if (data.exists()) { if (data.exists()) {
AllZone.getQuest().load(QuestDataIO.loadData(data)); Singletons.getModel().getQuest().load(QuestDataIO.loadData(data));
} }
// Handles resizing in null layouts of layers in JLayeredPane. // Handles resizing in null layouts of layers in JLayeredPane.

View File

@@ -114,7 +114,7 @@ public class InputMulligan extends Input {
final int newHand = this.doMulligan(humanPlayer, humanRating); final int newHand = this.doMulligan(humanPlayer, humanRating);
final QuestController quest = AllZone.getQuest(); final QuestController quest = Singletons.getModel().getQuest();
if (quest.isLoaded() && quest.getAssets().hasItem(QuestItemType.SLEIGHT) && (humanRating.getMulliganCount() == 1)) { if (quest.isLoaded() && quest.getAssets().hasItem(QuestItemType.SLEIGHT) && (humanRating.getMulliganCount() == 1)) {
AllZone.getHumanPlayer().drawCard(); AllZone.getHumanPlayer().drawCard();
humanRating.notifyOpeningHandSize(newHand + 1); humanRating.notifyOpeningHandSize(newHand + 1);
@@ -154,7 +154,7 @@ public class InputMulligan extends Input {
ButtonUtil.reset(); ButtonUtil.reset();
final AbilityFactory af = new AbilityFactory(); final AbilityFactory af = new AbilityFactory();
for (Player p : AllZone.getPlayersInGame()) { for (Player p : Singletons.getModel().getGameState().getPlayers()) {
final List<Card> openingHand = p.getCardsIn(ZoneType.Hand); final List<Card> openingHand = p.getCardsIn(ZoneType.Hand);
for (final Card c : openingHand) { for (final Card c : openingHand) {

View File

@@ -174,7 +174,7 @@ public class GameNew {
// Shuffling // Shuffling
final boolean smoothLand = Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_SMOOTH_LAND); final boolean smoothLand = Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_SMOOTH_LAND);
for( Player player : AllZone.getPlayersInGame() ) for( Player player : Singletons.getModel().getGameState().getPlayers() )
{ {
if ( player.isHuman() ) { if ( player.isHuman() ) {
for (int i = 0; i < 100; i++) { for (int i = 0; i < 100; i++) {
@@ -200,7 +200,7 @@ public class GameNew {
if (Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_ANTE)) { if (Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_ANTE)) {
final String nl = System.getProperty("line.separator"); final String nl = System.getProperty("line.separator");
final StringBuilder msg = new StringBuilder(); final StringBuilder msg = new StringBuilder();
for (final Player p : AllZone.getPlayersInGame()) { for (final Player p : Singletons.getModel().getGameState().getPlayers()) {
final List<Card> lib = p.getCardsIn(ZoneType.Library); final List<Card> lib = p.getCardsIn(ZoneType.Library);
Predicate<Card> goodForAnte = Predicates.not(CardPredicates.Presets.BASIC_LANDS); Predicate<Card> goodForAnte = Predicates.not(CardPredicates.Presets.BASIC_LANDS);
Card ante = Aggregates.random(Iterables.filter(lib, goodForAnte)); Card ante = Aggregates.random(Iterables.filter(lib, goodForAnte));
@@ -229,7 +229,7 @@ public class GameNew {
// Draw 7 cards // Draw 7 cards
for (final Player p : AllZone.getPlayersInGame()) for (final Player p : Singletons.getModel().getGameState().getPlayers())
{ {
for (int i = 0; i < 7; i++) { for (int i = 0; i < 7; i++) {
p.drawCard(); p.drawCard();

View File

@@ -446,7 +446,7 @@ public class PhaseHandler extends MyObservable implements java.io.Serializable {
AllZone.getEndOfTurn().executeUntil(); AllZone.getEndOfTurn().executeUntil();
for (Player player : AllZone.getPlayersInGame()) { for (Player player : Singletons.getModel().getGameState().getPlayers()) {
for (Card c : player.getCardsIn(ZoneType.Hand)) for (Card c : player.getCardsIn(ZoneType.Hand))
c.setDrawnThisTurn(false); c.setDrawnThisTurn(false);
@@ -508,7 +508,7 @@ public class PhaseHandler extends MyObservable implements java.io.Serializable {
} }
this.bPhaseEffects = true; this.bPhaseEffects = true;
if (!AllZoneUtil.isCardInPlay("Upwelling")) { if (!AllZoneUtil.isCardInPlay("Upwelling")) {
for (Player p : AllZone.getPlayersInGame()) { for (Player p : Singletons.getModel().getGameState().getPlayers()) {
int burn = p.getManaPool().clearPool(); int burn = p.getManaPool().clearPool();
if (Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_MANABURN)) { if (Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_MANABURN)) {
p.loseLife(burn, null); p.loseLife(burn, null);
@@ -597,7 +597,7 @@ public class PhaseHandler extends MyObservable implements java.io.Serializable {
AllZone.getStack().setCardsCastLastTurn(); AllZone.getStack().setCardsCastLastTurn();
AllZone.getStack().clearCardsCastThisTurn(); AllZone.getStack().clearCardsCastThisTurn();
AllZone.resetZoneMoveTracking(); AllZone.resetZoneMoveTracking();
for( Player p : AllZone.getPlayersInGame() ) for( Player p : Singletons.getModel().getGameState().getPlayers() )
{ {
p.resetProwl(); p.resetProwl();
p.setLifeLostThisTurn(0); p.setLifeLostThisTurn(0);

View File

@@ -32,6 +32,7 @@ import forge.CardLists;
import forge.CardPredicates.Presets; import forge.CardPredicates.Presets;
import forge.Command; import forge.Command;
import forge.GameActionUtil; import forge.GameActionUtil;
import forge.Singletons;
import forge.card.spellability.Ability; import forge.card.spellability.Ability;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.staticability.StaticAbility; import forge.card.staticability.StaticAbility;
@@ -107,7 +108,7 @@ public class PlayerZoneBattlefield extends PlayerZone {
final String[] k = keyword.split(":"); final String[] k = keyword.split(":");
addMax = Integer.valueOf(k[2]); addMax = Integer.valueOf(k[2]);
if (k[1].equals("Each")) { if (k[1].equals("Each")) {
for( Player p : AllZone.getPlayersInGame() ){ for( Player p : Singletons.getModel().getGameState().getPlayers() ){
p.addMaxLandsToPlay(addMax); p.addMaxLandsToPlay(addMax);
} }
} else { } else {
@@ -220,7 +221,7 @@ public class PlayerZoneBattlefield extends PlayerZone {
final String[] k = keyword.split(":"); final String[] k = keyword.split(":");
addMax = -Integer.valueOf(k[2]); addMax = -Integer.valueOf(k[2]);
if (k[1].equals("Each")) { if (k[1].equals("Each")) {
for(Player p: AllZone.getPlayersInGame()) for(Player p: Singletons.getModel().getGameState().getPlayers())
p.addMaxLandsToPlay(addMax); p.addMaxLandsToPlay(addMax);
} else { } else {
c.getController().addMaxLandsToPlay(addMax); c.getController().addMaxLandsToPlay(addMax);

View File

@@ -16,7 +16,6 @@ import javax.swing.JOptionPane;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import forge.AllZone;
import forge.Singletons; import forge.Singletons;
import forge.deck.Deck; import forge.deck.Deck;
import forge.deck.generate.Generate2ColorDeck; import forge.deck.generate.Generate2ColorDeck;
@@ -126,7 +125,7 @@ public class GauntletDeckUtil {
* @return {@link forge.deck.Deck} * @return {@link forge.deck.Deck}
*/ */
public static Deck buildQuestDeck(final String[] selection) { public static Deck buildQuestDeck(final String[] selection) {
return AllZone.getQuest().getDuelsManager().getEvent(selection[0]).getEventDeck(); return Singletons.getModel().getQuest().getDuelsManager().getEvent(selection[0]).getEventDeck();
} }
/** @return {@link forge.deck.Deck} */ /** @return {@link forge.deck.Deck} */
@@ -160,7 +159,7 @@ public class GauntletDeckUtil {
/** @return {@link forge.deck.Deck} */ /** @return {@link forge.deck.Deck} */
public static Deck getRandomQuestDeck() { public static Deck getRandomQuestDeck() {
final List<Deck> allQuestDecks = new ArrayList<Deck>(); final List<Deck> allQuestDecks = new ArrayList<Deck>();
final QuestEventManager manager = AllZone.getQuest().getDuelsManager(); final QuestEventManager manager = Singletons.getModel().getQuest().getDuelsManager();
for (final QuestEvent e : manager.getAllDuels()) { for (final QuestEvent e : manager.getAllDuels()) {
allQuestDecks.add(e.getEventDeck()); allQuestDecks.add(e.getEventDeck());
@@ -228,7 +227,7 @@ public class GauntletDeckUtil {
deck = Singletons.getModel().getDecks().getConstructed().get(deckName); deck = Singletons.getModel().getDecks().getConstructed().get(deckName);
} }
else { else {
deck = AllZone.getQuest().getDuelsManager().getEvent(deckName).getEventDeck(); deck = Singletons.getModel().getQuest().getDuelsManager().getEvent(deckName).getEventDeck();
} }
// Dump into map and display. // Dump into map and display.

View File

@@ -327,7 +327,7 @@ public final class GuiDisplayUtil {
* </p> * </p>
*/ */
public static void updateGUI() { public static void updateGUI() {
for( Player p : AllZone.getPlayersInGame()) for( Player p : Singletons.getModel().getGameState().getPlayers())
{ {
p.getZone(ZoneType.Battlefield).updateObservers(); p.getZone(ZoneType.Battlefield).updateObservers();
p.getZone(ZoneType.Battlefield).updateObservers(); p.getZone(ZoneType.Battlefield).updateObservers();
@@ -759,7 +759,7 @@ public final class GuiDisplayUtil {
* @since 1.1.3 * @since 1.1.3
*/ */
public static void devModeSetLife() { public static void devModeSetLife() {
final List<Player> players = AllZone.getPlayersInGame(); final List<Player> players = Singletons.getModel().getGameState().getPlayers();
final Player o = GuiChoose.oneOrNone("Set life for which player?", players); final Player o = GuiChoose.oneOrNone("Set life for which player?", players);
if (null == o) { if (null == o) {
return; return;
@@ -779,7 +779,7 @@ public final class GuiDisplayUtil {
} }
public static void devModeBreakpoint() { public static void devModeBreakpoint() {
List<Player> Players = AllZone.getPlayersInGame(); List<Player> Players = Singletons.getModel().getGameState().getPlayers();
/* /*
Combat CombatHandler = AllZone.getCombat(); Combat CombatHandler = AllZone.getCombat();
TriggerHandler Triggers = AllZone.getTriggerHandler(); TriggerHandler Triggers = AllZone.getTriggerHandler();

View File

@@ -5,7 +5,6 @@ import java.awt.Font;
import javax.swing.SwingUtilities; import javax.swing.SwingUtilities;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import forge.AllZone;
import forge.Command; import forge.Command;
import forge.Singletons; import forge.Singletons;
import forge.gui.toolbox.FLabel; import forge.gui.toolbox.FLabel;
@@ -46,13 +45,13 @@ public class ViewItem extends FPanel {
this.btnPurchase.setCommand(new Command() { this.btnPurchase.setCommand(new Command() {
@Override @Override
public void execute() { public void execute() {
final QuestAssets qA = AllZone.getQuest().getAssets(); final QuestAssets qA = Singletons.getModel().getQuest().getAssets();
final int cost = ViewItem.this.getItem().getBuyingPrice(qA); final int cost = ViewItem.this.getItem().getBuyingPrice(qA);
if (cost >= 0 && (qA.getCredits() - cost) >= 0) { if (cost >= 0 && (qA.getCredits() - cost) >= 0) {
qA.subtractCredits(cost); qA.subtractCredits(cost);
qA.addCredits(ViewItem.this.getItem().getSellingPrice(qA)); qA.addCredits(ViewItem.this.getItem().getSellingPrice(qA));
ViewItem.this.getItem().onPurchase(qA); ViewItem.this.getItem().onPurchase(qA);
AllZone.getQuest().save(); Singletons.getModel().getQuest().save();
} }
Singletons.getView().getViewBazaar().refreshLastInstance(); Singletons.getView().getViewBazaar().refreshLastInstance();
} }
@@ -77,7 +76,7 @@ public class ViewItem extends FPanel {
SwingUtilities.invokeLater(new Runnable() { SwingUtilities.invokeLater(new Runnable() {
@Override @Override
public void run() { public void run() {
final QuestAssets qA = AllZone.getQuest().getAssets(); final QuestAssets qA = Singletons.getModel().getQuest().getAssets();
IQuestBazaarItem bazaarItem = ViewItem.this.getItem(); IQuestBazaarItem bazaarItem = ViewItem.this.getItem();
ViewItem.this.lblIcon.setIcon(bazaarItem.getIcon(qA)); ViewItem.this.lblIcon.setIcon(bazaarItem.getIcon(qA));

View File

@@ -30,7 +30,7 @@ import javax.swing.text.StyleConstants;
import javax.swing.text.StyledDocument; import javax.swing.text.StyledDocument;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import forge.AllZone; import forge.Singletons;
import forge.control.bazaar.ControlStall; import forge.control.bazaar.ControlStall;
import forge.gui.toolbox.FLabel; import forge.gui.toolbox.FLabel;
import forge.gui.toolbox.FScrollPane; import forge.gui.toolbox.FScrollPane;
@@ -148,7 +148,7 @@ public class ViewStall extends JPanel {
* new panels if necessary. * new panels if necessary.
*/ */
public void updateStall() { public void updateStall() {
final QuestController qData = AllZone.getQuest(); final QuestController qData = Singletons.getModel().getQuest();
if (qData.getAssets() == null) { if (qData.getAssets() == null) {
return; return;
} }

View File

@@ -26,7 +26,7 @@ import java.util.Map.Entry;
import com.google.common.base.Function; import com.google.common.base.Function;
import com.google.common.base.Supplier; import com.google.common.base.Supplier;
import forge.AllZone; import forge.Singletons;
import forge.deck.Deck; import forge.deck.Deck;
import forge.gui.deckeditor.SEditorIO; import forge.gui.deckeditor.SEditorIO;
import forge.gui.deckeditor.SEditorUtil; import forge.gui.deckeditor.SEditorUtil;
@@ -239,7 +239,7 @@ public final class CEditorQuest extends ACEditorBase<CardPrinted, Deck> {
public boolean exit() { public boolean exit() {
final boolean okToExit = SEditorIO.confirmSaveChanges(); final boolean okToExit = SEditorIO.confirmSaveChanges();
if (okToExit) { if (okToExit) {
AllZone.getQuest().save(); Singletons.getModel().getQuest().save();
CSubmenuQuestDecks.SINGLETON_INSTANCE.update(); CSubmenuQuestDecks.SINGLETON_INSTANCE.update();
} }
return okToExit; return okToExit;

View File

@@ -29,7 +29,7 @@ import javax.swing.JOptionPane;
import com.google.common.base.Function; import com.google.common.base.Function;
import forge.AllZone; import forge.Singletons;
import forge.deck.Deck; import forge.deck.Deck;
import forge.deck.DeckBase; import forge.deck.DeckBase;
import forge.gui.CardListViewer; import forge.gui.CardListViewer;
@@ -399,7 +399,7 @@ public final class CEditorQuestCardShop extends ACEditorBase<InventoryItem, Deck
@Override @Override
public boolean exit() { public boolean exit() {
SSubmenuQuestUtil.updateStatsAndPet(); SSubmenuQuestUtil.updateStatsAndPet();
AllZone.getQuest().save(); Singletons.getModel().getQuest().save();
CSubmenuQuestDecks.SINGLETON_INSTANCE.update(); CSubmenuQuestDecks.SINGLETON_INSTANCE.update();
// undo Card Shop Specifics // undo Card Shop Specifics

View File

@@ -17,7 +17,6 @@ import javax.swing.filechooser.FileFilter;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import forge.AllZone;
import forge.Command; import forge.Command;
import forge.Singletons; import forge.Singletons;
import forge.deck.Deck; import forge.deck.Deck;
@@ -185,7 +184,7 @@ public enum CSubmenuGauntletBuild implements ICDoc {
/** Handles all control for "quest event" radio button click. */ /** Handles all control for "quest event" radio button click. */
private void updateQuestDecks() { private void updateQuestDecks() {
final List<String> eventNames = new ArrayList<String>(); final List<String> eventNames = new ArrayList<String>();
QuestController quest = AllZone.getQuest(); QuestController quest = Singletons.getModel().getQuest();
for (final QuestEvent e : quest.getDuelsManager().getAllDuels()) { for (final QuestEvent e : quest.getDuelsManager().getAllDuels()) {
eventNames.add(e.getEventDeck().getName()); eventNames.add(e.getEventDeck().getName());

View File

@@ -164,7 +164,7 @@ public enum CSubmenuGauntletContests implements ICDoc {
/** Handles all control for "quest event" radio button click. */ /** Handles all control for "quest event" radio button click. */
private void updateQuestDecks() { private void updateQuestDecks() {
final List<String> eventNames = new ArrayList<String>(); final List<String> eventNames = new ArrayList<String>();
QuestController quest = AllZone.getQuest(); QuestController quest = Singletons.getModel().getQuest();
for (final QuestEvent e : quest.getDuelsManager().getAllDuels()) { for (final QuestEvent e : quest.getDuelsManager().getAllDuels()) {
eventNames.add(e.getEventDeck().getName()); eventNames.add(e.getEventDeck().getName());

View File

@@ -160,7 +160,7 @@ public enum CSubmenuGauntletQuick implements ICDoc {
/** Handles all control for "quest event" radio button click. */ /** Handles all control for "quest event" radio button click. */
private void updateQuestDecks() { private void updateQuestDecks() {
final List<String> eventNames = new ArrayList<String>(); final List<String> eventNames = new ArrayList<String>();
QuestController quest = AllZone.getQuest(); QuestController quest = Singletons.getModel().getQuest();
for (final QuestEvent e : quest.getDuelsManager().getAllDuels()) { for (final QuestEvent e : quest.getDuelsManager().getAllDuels()) {
eventNames.add(e.getEventDeck().getName()); eventNames.add(e.getEventDeck().getName());

View File

@@ -8,7 +8,6 @@ import java.util.List;
import javax.swing.SwingConstants; import javax.swing.SwingConstants;
import javax.swing.border.EmptyBorder; import javax.swing.border.EmptyBorder;
import forge.AllZone;
import forge.Command; import forge.Command;
import forge.Singletons; import forge.Singletons;
import forge.gui.framework.EDocID; import forge.gui.framework.EDocID;
@@ -55,8 +54,8 @@ public enum CSubmenuChallenges implements ICDoc {
new Command() { new Command() {
@Override @Override
public void execute() { public void execute() {
AllZone.getQuest().getAchievements().setCurrentChallenges(null); Singletons.getModel().getQuest().getAchievements().setCurrentChallenges(null);
AllZone.getQuest().getAssets().setItemLevel(QuestItemType.ZEPPELIN, 2); Singletons.getModel().getQuest().getAssets().setItemLevel(QuestItemType.ZEPPELIN, 2);
update(); update();
} }
}); });
@@ -68,7 +67,7 @@ public enum CSubmenuChallenges implements ICDoc {
} }
}); });
final QuestController quest = AllZone.getQuest(); final QuestController quest = Singletons.getModel().getQuest();
view.getCbPlant().addActionListener(new ActionListener() { view.getCbPlant().addActionListener(new ActionListener() {
@Override @Override
public void actionPerformed(ActionEvent arg0) { public void actionPerformed(ActionEvent arg0) {
@@ -96,7 +95,7 @@ public enum CSubmenuChallenges implements ICDoc {
SSubmenuQuestUtil.updateStatsAndPet(); SSubmenuQuestUtil.updateStatsAndPet();
final VSubmenuChallenges view = VSubmenuChallenges.SINGLETON_INSTANCE; final VSubmenuChallenges view = VSubmenuChallenges.SINGLETON_INSTANCE;
final QuestController qCtrl = AllZone.getQuest(); final QuestController qCtrl = Singletons.getModel().getQuest();
if (qCtrl.getAchievements() != null) { if (qCtrl.getAchievements() != null) {
view.getLblTitle().setText("Challenges: " + qCtrl.getRank()); view.getLblTitle().setText("Challenges: " + qCtrl.getRank());
@@ -130,7 +129,7 @@ public enum CSubmenuChallenges implements ICDoc {
@SuppressWarnings("serial") @SuppressWarnings("serial")
@Override @Override
public Command getCommandOnSelect() { public Command getCommandOnSelect() {
final QuestController qc = AllZone.getQuest(); final QuestController qc = Singletons.getModel().getQuest();
return new Command() { return new Command() {
@Override @Override
public void execute() { public void execute() {

View File

@@ -4,8 +4,8 @@ import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.util.List; import java.util.List;
import forge.AllZone;
import forge.Command; import forge.Command;
import forge.Singletons;
import forge.gui.framework.EDocID; import forge.gui.framework.EDocID;
import forge.gui.framework.ICDoc; import forge.gui.framework.ICDoc;
import forge.gui.home.CMainMenu; import forge.gui.home.CMainMenu;
@@ -51,7 +51,7 @@ public enum CSubmenuDuels implements ICDoc {
} }
}); });
final QuestController quest = AllZone.getQuest(); final QuestController quest = Singletons.getModel().getQuest();
view.getCbPlant().addActionListener(new ActionListener() { view.getCbPlant().addActionListener(new ActionListener() {
@Override @Override
public void actionPerformed(ActionEvent arg0) { public void actionPerformed(ActionEvent arg0) {
@@ -80,11 +80,11 @@ public enum CSubmenuDuels implements ICDoc {
final VSubmenuDuels view = VSubmenuDuels.SINGLETON_INSTANCE; final VSubmenuDuels view = VSubmenuDuels.SINGLETON_INSTANCE;
if (AllZone.getQuest().getAchievements() != null) { if (Singletons.getModel().getQuest().getAchievements() != null) {
view.getLblTitle().setText("Duels: " + AllZone.getQuest().getRank()); view.getLblTitle().setText("Duels: " + Singletons.getModel().getQuest().getRank());
view.getPnlDuels().removeAll(); view.getPnlDuels().removeAll();
final List<QuestEventDuel> duels = AllZone.getQuest().getDuelsManager().generateDuels(); final List<QuestEventDuel> duels = Singletons.getModel().getQuest().getDuelsManager().generateDuels();
for (final QuestEventDuel d : duels) { for (final QuestEventDuel d : duels) {
final SelectablePanel temp = new SelectablePanel(d); final SelectablePanel temp = new SelectablePanel(d);
@@ -99,7 +99,7 @@ public enum CSubmenuDuels implements ICDoc {
@SuppressWarnings("serial") @SuppressWarnings("serial")
@Override @Override
public Command getCommandOnSelect() { public Command getCommandOnSelect() {
final QuestController qc = AllZone.getQuest(); final QuestController qc = Singletons.getModel().getQuest();
return new Command() { return new Command() {
@Override @Override
public void execute() { public void execute() {

View File

@@ -14,7 +14,6 @@ import java.util.Map;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import forge.AllZone;
import forge.Command; import forge.Command;
import forge.Singletons; import forge.Singletons;
import forge.gui.framework.ICDoc; import forge.gui.framework.ICDoc;
@@ -77,7 +76,7 @@ public enum CSubmenuQuestData implements ICDoc {
public void update() { public void update() {
final VSubmenuQuestData view = VSubmenuQuestData.SINGLETON_INSTANCE; final VSubmenuQuestData view = VSubmenuQuestData.SINGLETON_INSTANCE;
final File dirQuests = ForgeProps.getFile(NewConstants.Quest.DATA_DIR); final File dirQuests = ForgeProps.getFile(NewConstants.Quest.DATA_DIR);
final QuestController qc = AllZone.getQuest(); final QuestController qc = Singletons.getModel().getQuest();
// Temporary transition code between v1.2.2 and v1.2.3. // Temporary transition code between v1.2.2 and v1.2.3.
// Can be safely deleted after release of 1.2.3. // Can be safely deleted after release of 1.2.3.
@@ -175,8 +174,8 @@ public enum CSubmenuQuestData implements ICDoc {
} }
// Give the user a few cards to build a deck // Give the user a few cards to build a deck
AllZone.getQuest().newGame(questName, difficulty, mode, startPool, rotatingFormat, startPrecon, view.getBoxPersist().isSelected()); Singletons.getModel().getQuest().newGame(questName, difficulty, mode, startPool, rotatingFormat, startPrecon, view.getBoxPersist().isSelected());
AllZone.getQuest().save(); Singletons.getModel().getQuest().save();
// Save in preferences. // Save in preferences.
Singletons.getModel().getQuestPreferences().setPreference(QPref.CURRENT_QUEST, questName + ".dat"); Singletons.getModel().getQuestPreferences().setPreference(QPref.CURRENT_QUEST, questName + ".dat");
@@ -187,12 +186,12 @@ public enum CSubmenuQuestData implements ICDoc {
/** Changes between quest data files. */ /** Changes between quest data files. */
private void changeQuest() { private void changeQuest() {
AllZone.getQuest().load(VSubmenuQuestData.SINGLETON_INSTANCE Singletons.getModel().getQuest().load(VSubmenuQuestData.SINGLETON_INSTANCE
.getLstQuests().getSelectedQuest()); .getLstQuests().getSelectedQuest());
// Save in preferences. // Save in preferences.
Singletons.getModel().getQuestPreferences().setPreference(QPref.CURRENT_QUEST, Singletons.getModel().getQuestPreferences().setPreference(QPref.CURRENT_QUEST,
AllZone.getQuest().getName() + ".dat"); Singletons.getModel().getQuest().getName() + ".dat");
Singletons.getModel().getQuestPreferences().save(); Singletons.getModel().getQuestPreferences().save();
SSubmenuQuestUtil.updateStatsAndPet(); SSubmenuQuestUtil.updateStatsAndPet();

View File

@@ -2,7 +2,6 @@ package forge.gui.home.quest;
import java.util.ArrayList; import java.util.ArrayList;
import forge.AllZone;
import forge.Command; import forge.Command;
import forge.Singletons; import forge.Singletons;
import forge.control.FControl; import forge.control.FControl;
@@ -49,7 +48,7 @@ public enum CSubmenuQuestDecks implements ICDoc {
VSubmenuQuestDecks.SINGLETON_INSTANCE.getBtnNewDeck().setCommand(new Command() { VSubmenuQuestDecks.SINGLETON_INSTANCE.getBtnNewDeck().setCommand(new Command() {
@Override @Override
public void execute() { public void execute() {
CDeckEditorUI.SINGLETON_INSTANCE.setCurrentEditorController(new CEditorQuest(AllZone.getQuest())); CDeckEditorUI.SINGLETON_INSTANCE.setCurrentEditorController(new CEditorQuest(Singletons.getModel().getQuest()));
FControl.SINGLETON_INSTANCE.changeState(FControl.DECK_EDITOR_QUEST); FControl.SINGLETON_INSTANCE.changeState(FControl.DECK_EDITOR_QUEST);
} }
}); });
@@ -61,7 +60,7 @@ public enum CSubmenuQuestDecks implements ICDoc {
@Override @Override
public void update() { public void update() {
final VSubmenuQuestDecks view = VSubmenuQuestDecks.SINGLETON_INSTANCE; final VSubmenuQuestDecks view = VSubmenuQuestDecks.SINGLETON_INSTANCE;
final QuestController qData = AllZone.getQuest(); final QuestController qData = Singletons.getModel().getQuest();
boolean hasQuest = qData.getAssets() != null; boolean hasQuest = qData.getAssets() != null;
// Retrieve and set all decks // Retrieve and set all decks
view.getLstDecks().setDecks(hasQuest ? qData.getMyDecks() : new ArrayList<Deck>()); view.getLstDecks().setDecks(hasQuest ? qData.getMyDecks() : new ArrayList<Deck>());
@@ -108,7 +107,7 @@ public enum CSubmenuQuestDecks implements ICDoc {
*/ */
@Override @Override
public Command getCommandOnSelect() { public Command getCommandOnSelect() {
final QuestController qc = AllZone.getQuest(); final QuestController qc = Singletons.getModel().getQuest();
return new Command() { return new Command() {
@Override @Override
public void execute() { public void execute() {

View File

@@ -57,11 +57,11 @@ public class SSubmenuQuestUtil {
* @return a int. * @return a int.
*/ */
public static int nextChallengeInWins() { public static int nextChallengeInWins() {
final QuestController qData = AllZone.getQuest(); final QuestController qData = Singletons.getModel().getQuest();
final int challengesPlayed = qData.getAchievements().getChallengesPlayed(); final int challengesPlayed = qData.getAchievements().getChallengesPlayed();
final int wins = qData.getAchievements().getWin(); final int wins = qData.getAchievements().getWin();
final int turnsToUnlock = AllZone.getQuest().getChallengesManager().getTurnsToUnlockChallenge(); final int turnsToUnlock = Singletons.getModel().getQuest().getChallengesManager().getTurnsToUnlockChallenge();
final int delta; final int delta;
// First challenge unlocks after minimum wins reached. // First challenge unlocks after minimum wins reached.
@@ -135,7 +135,7 @@ public class SSubmenuQuestUtil {
/** Updates stats, pets panels for both duels and challenges. */ /** Updates stats, pets panels for both duels and challenges. */
public static void updateStatsAndPet() { public static void updateStatsAndPet() {
final QuestController qCtrl = AllZone.getQuest(); final QuestController qCtrl = Singletons.getModel().getQuest();
final QuestAchievements qA = qCtrl.getAchievements(); final QuestAchievements qA = qCtrl.getAchievements();
final QuestAssets qS = qCtrl.getAssets(); final QuestAssets qS = qCtrl.getAssets();
@@ -196,8 +196,8 @@ public class SSubmenuQuestUtil {
public static Deck getCurrentDeck() { public static Deck getCurrentDeck() {
Deck d = null; Deck d = null;
if (AllZone.getQuest().getAssets() != null) { if (Singletons.getModel().getQuest().getAssets() != null) {
d = AllZone.getQuest().getMyDecks().get( d = Singletons.getModel().getQuest().getMyDecks().get(
Singletons.getModel().getQuestPreferences().getPreference(QPref.CURRENT_DECK)); Singletons.getModel().getQuestPreferences().getPreference(QPref.CURRENT_DECK));
} }
@@ -207,7 +207,7 @@ public class SSubmenuQuestUtil {
/** */ /** */
public static void showSpellShop() { public static void showSpellShop() {
CDeckEditorUI.SINGLETON_INSTANCE.setCurrentEditorController( CDeckEditorUI.SINGLETON_INSTANCE.setCurrentEditorController(
new CEditorQuestCardShop(AllZone.getQuest())); new CEditorQuestCardShop(Singletons.getModel().getQuest()));
FControl.SINGLETON_INSTANCE.changeState(FControl.DECK_EDITOR_QUEST); FControl.SINGLETON_INSTANCE.changeState(FControl.DECK_EDITOR_QUEST);
} }
@@ -219,7 +219,7 @@ public class SSubmenuQuestUtil {
/** */ /** */
public static void startGame() { public static void startGame() {
final QuestController qData = AllZone.getQuest(); final QuestController qData = Singletons.getModel().getQuest();
final QuestEvent event = selectedOpponent.getEvent(); final QuestEvent event = selectedOpponent.getEvent();
SwingUtilities.invokeLater(new Runnable() { SwingUtilities.invokeLater(new Runnable() {

View File

@@ -87,7 +87,7 @@ public enum CSubmenuConstructed implements ICDoc {
} }
}; };
private final QuestController quest = AllZone.getQuest(); private final QuestController quest = Singletons.getModel().getQuest();
static { static {
COLOR_VALS.clear(); COLOR_VALS.clear();

View File

@@ -114,12 +114,12 @@ public class ControlWinLose {
List<GameSummary> games = Singletons.getModel().getMatchState().getGamesPlayed(); List<GameSummary> games = Singletons.getModel().getMatchState().getGamesPlayed();
if ( games.isEmpty() ) return; if ( games.isEmpty() ) return;
GameSummary lastGame = games.get(games.size()-1); GameSummary lastGame = games.get(games.size()-1);
for (Player p: AllZone.getPlayersInGame()) { for (Player p: Singletons.getModel().getGameState().getPlayers()) {
if (!p.getName().equals(lastGame.getWinner())) continue; // not a loser if (!p.getName().equals(lastGame.getWinner())) continue; // not a loser
// remove all the lost cards from owners' decks // remove all the lost cards from owners' decks
List<CardPrinted> losses = new ArrayList<CardPrinted>(); List<CardPrinted> losses = new ArrayList<CardPrinted>();
for (Player loser: AllZone.getPlayersInGame()) { for (Player loser: Singletons.getModel().getGameState().getPlayers()) {
if( loser.equals(p)) continue; // not a loser if( loser.equals(p)) continue; // not a loser
List<Card> compAntes = loser.getCardsIn(ZoneType.Ante); List<Card> compAntes = loser.getCardsIn(ZoneType.Ante);

View File

@@ -100,7 +100,7 @@ public class QuestWinLoseHandler extends ControlWinLose {
super(view0); super(view0);
this.view = view0; this.view = view0;
matchState = Singletons.getModel().getMatchState(); matchState = Singletons.getModel().getMatchState();
qData = AllZone.getQuest(); qData = Singletons.getModel().getQuest();
qEvent = qData.getCurrentEvent(); qEvent = qData.getCurrentEvent();
this.wonMatch = matchState.isMatchWonBy(AllZone.getHumanPlayer()); this.wonMatch = matchState.isMatchWonBy(AllZone.getHumanPlayer());
this.isAnte = Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_ANTE); this.isAnte = Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_ANTE);
@@ -173,7 +173,7 @@ public class QuestWinLoseHandler extends ControlWinLose {
final List<CardPrinted> antesPrinted = Singletons.getModel().getMatchState().addAnteLost(antes); final List<CardPrinted> antesPrinted = Singletons.getModel().getMatchState().addAnteLost(antes);
for (final CardPrinted ante : antesPrinted) { for (final CardPrinted ante : antesPrinted) {
//the last param here (should) determine if this is added to the Card Shop //the last param here (should) determine if this is added to the Card Shop
AllZone.getQuest().getCards().sellCard(ante, 0, false); Singletons.getModel().getQuest().getCards().sellCard(ante, 0, false);
} }
this.anteLost(antesPrinted); this.anteLost(antesPrinted);
} }

View File

@@ -68,7 +68,7 @@ public enum VPlayers implements IVDoc {
final JPanel pnl = parentCell.getBody(); final JPanel pnl = parentCell.getBody();
pnl.setLayout(new MigLayout("insets 0, gap 0, wrap")); pnl.setLayout(new MigLayout("insets 0, gap 0, wrap"));
final List<Player> players = AllZone.getPlayersInGame(); final List<Player> players = Singletons.getModel().getGameState().getPlayers();
this.infoLBLs = new HashMap<Player, JLabel[]>(); this.infoLBLs = new HashMap<Player, JLabel[]>();
final String constraints = "w 97%!, gapleft 2%, gapbottom 1%"; final String constraints = "w 97%!, gapleft 2%, gapbottom 1%";

View File

@@ -36,7 +36,6 @@ import javax.swing.SwingConstants;
import javax.swing.border.MatteBorder; import javax.swing.border.MatteBorder;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import forge.AllZone;
import forge.Command; import forge.Command;
import forge.Singletons; import forge.Singletons;
import forge.control.FControl; import forge.control.FControl;
@@ -424,7 +423,7 @@ public class DeckLister extends JPanel implements ILocalRepaint {
private <T extends DeckBase> void editDeck(final Deck d0) { private <T extends DeckBase> void editDeck(final Deck d0) {
switch (this.gametype) { switch (this.gametype) {
case Quest: case Quest:
final CEditorQuest qEditor = new CEditorQuest(AllZone.getQuest()); final CEditorQuest qEditor = new CEditorQuest(Singletons.getModel().getQuest());
CDeckEditorUI.SINGLETON_INSTANCE.setCurrentEditorController(qEditor); CDeckEditorUI.SINGLETON_INSTANCE.setCurrentEditorController(qEditor);
FControl.SINGLETON_INSTANCE.changeState(FControl.DECK_EDITOR_QUEST); FControl.SINGLETON_INSTANCE.changeState(FControl.DECK_EDITOR_QUEST);
break; break;
@@ -472,8 +471,8 @@ public class DeckLister extends JPanel implements ILocalRepaint {
} else if (this.gametype.equals(GameType.Sealed)) { } else if (this.gametype.equals(GameType.Sealed)) {
deckManager.getSealed().delete(d0.getName()); deckManager.getSealed().delete(d0.getName());
} else if (this.gametype.equals(GameType.Quest)) { } else if (this.gametype.equals(GameType.Quest)) {
AllZone.getQuest().getMyDecks().delete(d0.getName()); Singletons.getModel().getQuest().getMyDecks().delete(d0.getName());
AllZone.getQuest().save(); Singletons.getModel().getQuest().save();
} else { } else {
deckManager.getConstructed().delete(d0.getName()); deckManager.getConstructed().delete(d0.getName());
} }

View File

@@ -22,8 +22,8 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import forge.AllZone;
import forge.Card; import forge.Card;
import forge.Singletons;
import forge.game.GameSummary; import forge.game.GameSummary;
import forge.game.GameType; import forge.game.GameType;
import forge.game.player.Player; import forge.game.player.Player;
@@ -184,7 +184,7 @@ public class FMatchState {
* @since 1.2.3 * @since 1.2.3
*/ */
public final void addAnteWonToCardPool() { public final void addAnteWonToCardPool() {
AllZone.getQuest().getCards().addAllCards(antesWon); Singletons.getModel().getQuest().getCards().addAllCards(antesWon);
} }
/** /**

View File

@@ -49,6 +49,7 @@ import forge.properties.ForgePreferences;
import forge.properties.ForgePreferences.FPref; import forge.properties.ForgePreferences.FPref;
import forge.properties.ForgeProps; import forge.properties.ForgeProps;
import forge.properties.NewConstants; import forge.properties.NewConstants;
import forge.quest.QuestController;
import forge.quest.data.QuestPreferences; import forge.quest.data.QuestPreferences;
import forge.util.Aggregates; import forge.util.Aggregates;
import forge.util.FileUtil; import forge.util.FileUtil;
@@ -83,6 +84,8 @@ public enum FModel {
private final GameState gameState; private final GameState gameState;
private final FMatchState matchState; private final FMatchState matchState;
private GauntletData gauntletData; private GauntletData gauntletData;
private final QuestController quest;
private final EditionCollection editions; private final EditionCollection editions;
private final FormatCollection formats; private final FormatCollection formats;
@@ -144,6 +147,7 @@ public enum FModel {
this.blocks = new StorageView<CardBlock>(new CardBlock.Reader("res/blockdata/blocks.txt", editions)); this.blocks = new StorageView<CardBlock>(new CardBlock.Reader("res/blockdata/blocks.txt", editions));
this.fantasyBlocks = new StorageView<CardBlock>(new CardBlock.Reader("res/blockdata/fantasyblocks.txt", editions)); this.fantasyBlocks = new StorageView<CardBlock>(new CardBlock.Reader("res/blockdata/fantasyblocks.txt", editions));
this.quest = new QuestController();
// TODO - there's got to be a better place for this...oblivion? // TODO - there's got to be a better place for this...oblivion?
Preferences.DEV_MODE = this.preferences.getPrefBoolean(FPref.DEV_MODE_ENABLED); Preferences.DEV_MODE = this.preferences.getPrefBoolean(FPref.DEV_MODE_ENABLED);
@@ -159,6 +163,10 @@ public enum FModel {
this.loadDynamicGamedata(); this.loadDynamicGamedata();
} }
public final QuestController getQuest() {
return quest;
}
/** /**
* Tests if draft upload is technically possible. * Tests if draft upload is technically possible.
* Separate thread, no more hangs when network connection is limited * Separate thread, no more hangs when network connection is limited

View File

@@ -28,7 +28,7 @@ import com.google.common.collect.Iterables;
import forge.AllZone; import forge.Singletons;
import forge.card.BoosterGenerator; import forge.card.BoosterGenerator;
import forge.card.CardRulesPredicates; import forge.card.CardRulesPredicates;
import forge.card.CardRules; import forge.card.CardRules;
@@ -260,8 +260,8 @@ public final class BoosterUtils {
}; };
Predicate<CardPrinted> colorPred = Predicates.compose(col, CardPrinted.FN_GET_RULES); Predicate<CardPrinted> colorPred = Predicates.compose(col, CardPrinted.FN_GET_RULES);
Predicate<CardPrinted> rarAndColor = Predicates.and(rar, colorPred); Predicate<CardPrinted> rarAndColor = Predicates.and(rar, colorPred);
if (AllZone.getQuest().getFormat() != null) { if (Singletons.getModel().getQuest().getFormat() != null) {
rarAndColor = Predicates.and(AllZone.getQuest().getFormat().getFilterPrinted(), rarAndColor); rarAndColor = Predicates.and(Singletons.getModel().getQuest().getFormat().getFilterPrinted(), rarAndColor);
} }
return new UnOpenedProduct(openWay, new BoosterGenerator(rarAndColor)); // qty)) return new UnOpenedProduct(openWay, new BoosterGenerator(rarAndColor)); // qty))
} }

View File

@@ -27,7 +27,6 @@ import java.util.Random;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import forge.AllZone;
import forge.Singletons; import forge.Singletons;
import forge.deck.Deck; import forge.deck.Deck;
import forge.deck.io.DeckSerializer; import forge.deck.io.DeckSerializer;
@@ -116,11 +115,11 @@ public class QuestEventManager {
*/ */
public final List<QuestEventDuel> generateDuels() { public final List<QuestEventDuel> generateDuels() {
final QuestPreferences qpref = Singletons.getModel().getQuestPreferences(); final QuestPreferences qpref = Singletons.getModel().getQuestPreferences();
if (AllZone.getQuest().getAchievements() == null) { if (Singletons.getModel().getQuest().getAchievements() == null) {
return null; return null;
} }
final QuestController qCtrl = AllZone.getQuest(); final QuestController qCtrl = Singletons.getModel().getQuest();
final int cntWins = qCtrl.getAchievements().getWin(); final int cntWins = qCtrl.getAchievements().getWin();
final int index = qCtrl.getAchievements().getDifficulty(); final int index = qCtrl.getAchievements().getDifficulty();
@@ -164,7 +163,7 @@ public class QuestEventManager {
* @return a {@link java.util.List} object. * @return a {@link java.util.List} object.
*/ */
public final List<QuestEventChallenge> generateChallenges() { public final List<QuestEventChallenge> generateChallenges() {
final QuestController qCtrl = AllZone.getQuest(); final QuestController qCtrl = Singletons.getModel().getQuest();
final QuestAchievements achievements = qCtrl.getAchievements(); final QuestAchievements achievements = qCtrl.getAchievements();
final List<QuestEventChallenge> challengeOpponents = new ArrayList<QuestEventChallenge>(); final List<QuestEventChallenge> challengeOpponents = new ArrayList<QuestEventChallenge>();
final List<Integer> unlockedChallengeIds = new ArrayList<Integer>(); final List<Integer> unlockedChallengeIds = new ArrayList<Integer>();
@@ -212,11 +211,11 @@ public class QuestEventManager {
* @return int * @return int
*/ */
public int getTurnsToUnlockChallenge() { public int getTurnsToUnlockChallenge() {
if (AllZone.getQuest().getAssets().hasItem(QuestItemType.ZEPPELIN)) { if (Singletons.getModel().getQuest().getAssets().hasItem(QuestItemType.ZEPPELIN)) {
return 8; return 8;
} }
// User may have MAP and ZEPPELIN, so MAP must be tested second. // User may have MAP and ZEPPELIN, so MAP must be tested second.
else if (AllZone.getQuest().getAssets().hasItem(QuestItemType.MAP)) { else if (Singletons.getModel().getQuest().getAssets().hasItem(QuestItemType.MAP)) {
return 9; return 9;
} }

View File

@@ -41,7 +41,7 @@ import org.xml.sax.SAXException;
import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.XStream;
import forge.AllZone; import forge.Singletons;
import forge.quest.QuestController; import forge.quest.QuestController;
import forge.quest.data.QuestAssets; import forge.quest.data.QuestAssets;
import forge.util.IgnoringXStream; import forge.util.IgnoringXStream;
@@ -173,7 +173,7 @@ public class QuestBazaarManager {
final List<IQuestBazaarItem> ret = new ArrayList<IQuestBazaarItem>(); final List<IQuestBazaarItem> ret = new ArrayList<IQuestBazaarItem>();
QuestAssets qA = AllZone.getQuest().getAssets(); QuestAssets qA = Singletons.getModel().getQuest().getAssets();
for (final IQuestBazaarItem purchasable : itemsOnStalls.get(stallName)) { for (final IQuestBazaarItem purchasable : itemsOnStalls.get(stallName)) {
if (purchasable.isAvailableForPurchase(qA)) { if (purchasable.isAvailableForPurchase(qA)) {
ret.add(purchasable); ret.add(purchasable);

View File

@@ -16,7 +16,6 @@ import javax.swing.border.LineBorder;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import forge.AllZone;
import forge.Singletons; import forge.Singletons;
import forge.control.FControl; import forge.control.FControl;
import forge.gui.deckeditor.VDeckEditorUI; import forge.gui.deckeditor.VDeckEditorUI;
@@ -211,7 +210,7 @@ public enum FView {
/** */ /** */
private void cacheUIStates() { private void cacheUIStates() {
FView.this.bazaar = new ViewBazaarUI(AllZone.getQuest().getBazaar()); FView.this.bazaar = new ViewBazaarUI(Singletons.getModel().getQuest().getBazaar());
VMatchUI.SINGLETON_INSTANCE.instantiate(); VMatchUI.SINGLETON_INSTANCE.instantiate();
VHomeUI.SINGLETON_INSTANCE.instantiate(); VHomeUI.SINGLETON_INSTANCE.instantiate();
VDeckEditorUI.SINGLETON_INSTANCE.instantiate(); VDeckEditorUI.SINGLETON_INSTANCE.instantiate();