Changed references to OldGuiNewGame preference components to reference the actual ForgePreferences class hosted in Singletons.

Added preferences to save the removal of artifacts and small creatures in deck generation.
This commit is contained in:
Rob Cashwalker
2011-09-13 19:50:55 +00:00
parent 5e5e3690d2
commit 2b53737838
4 changed files with 36 additions and 12 deletions

View File

@@ -8,8 +8,9 @@ import forge.CardListFilter;
import forge.CardListUtil;
import forge.CardUtil;
import forge.Constant;
import forge.Singletons;
import forge.view.swing.OldGuiNewGame;
//import forge.view.swing.OldGuiNewGame;
import java.util.ArrayList;
import java.util.HashMap;
@@ -146,14 +147,14 @@ public class GenerateConstructedDeck {
//is this really a colorless artifact and not something
//weird like Sarcomite Myr which is a colored artifact
return c.isArtifact() && CardUtil.getColors(c).contains(Constant.Color.Colorless)
&& !OldGuiNewGame.removeArtifacts.isSelected();
&& !Singletons.getModel().getPreferences().deckGenRmvArtifacts;
}
});
out.addAll(artifact);
out = out.filter(new CardListFilter() {
public boolean addCard(final Card c) {
if (c.isCreature() && c.getNetAttack() <= 1 && OldGuiNewGame.removeSmallCreatures.isSelected()) {
if (c.isCreature() && c.getNetAttack() <= 1 && Singletons.getModel().getPreferences().deckGenRmvSmall) {
return false;
}

View File

@@ -1,7 +1,7 @@
package forge.deck.generate;
import forge.*;
import forge.view.swing.OldGuiNewGame;
//import forge.view.swing.OldGuiNewGame;
import java.util.ArrayList;
import java.util.HashMap;
@@ -295,7 +295,7 @@ public class GenerateConstructedMultiColorDeck {
//wierd like Sarcomite Myr which is a colored artifact
return c.isArtifact() &&
CardUtil.getColors(c).contains(Constant.Color.Colorless) &&
!OldGuiNewGame.removeArtifacts.isSelected();
!Singletons.getModel().getPreferences().deckGenRmvArtifacts;
}
});
out.addAll(artifact);
@@ -304,7 +304,7 @@ public class GenerateConstructedMultiColorDeck {
public boolean addCard(Card c) {
if (c.isCreature() &&
c.getNetAttack() <= 1 &&
OldGuiNewGame.removeSmallCreatures.isSelected()) {
Singletons.getModel().getPreferences().deckGenRmvSmall) {
return false;
}
@@ -347,7 +347,7 @@ public class GenerateConstructedMultiColorDeck {
//wierd like Sarcomite Myr which is a colored artifact
return c.isArtifact() &&
CardUtil.getColors(c).contains(Constant.Color.Colorless) &&
!OldGuiNewGame.removeArtifacts.isSelected();
!Singletons.getModel().getPreferences().deckGenRmvArtifacts;
}
});
out.addAll(artifact);
@@ -356,7 +356,7 @@ public class GenerateConstructedMultiColorDeck {
public boolean addCard(Card c) {
if (c.isCreature() &&
c.getNetAttack() <= 1 &&
OldGuiNewGame.removeSmallCreatures.isSelected()) {
Singletons.getModel().getPreferences().deckGenRmvSmall) {
return false;
}

View File

@@ -26,6 +26,9 @@ public class ForgePreferences extends Preferences {
public boolean cardOverlay;
public boolean scaleLargerThanOriginal;
public boolean deckGenRmvArtifacts;
public boolean deckGenRmvSmall;
public String BugzName;
public String BugzPwd;
@@ -84,6 +87,9 @@ public class ForgePreferences extends Preferences {
maxStackSize = getInt("stack.max.size", 3);
scaleLargerThanOriginal = getBoolean("card.scale.larger.than.original", true);
deckGenRmvArtifacts = getBoolean("deck.gen.rmv.artifacts", false);
deckGenRmvSmall = getBoolean("deck.gen.rmv.small", false);
BugzName = get("bugz.user.name", "");
BugzPwd = get("bugz.user.pwd", "");
@@ -124,12 +130,15 @@ public class ForgePreferences extends Preferences {
set("stack.offset", stackOffset);
set("stack.max.size", maxStackSize);
set("card.scale.larger.than.original", scaleLargerThanOriginal);
for (SavePreferencesListener listeners : saveListeners)
for (SavePreferencesListener listeners : saveListeners) {
listeners.savePreferences();
}
set("deck.gen.rmv.artifacts", deckGenRmvArtifacts);
set("deck.gen.rmv.small", deckGenRmvSmall);
set("bugz.user.name", BugzName);
set("bugz.user.pwd", BugzPwd);
set("bugz.user.pwd", BugzPwd);
set("phase.ai.upkeep", bAIUpkeep);
set("phase.ai.draw", bAIDraw);

View File

@@ -96,6 +96,7 @@ public class OldGuiNewGame extends JFrame implements NewConstants, NewConstants.
/** Constant <code>removeSmallCreatures</code>. */
public static JCheckBoxMenuItem removeSmallCreatures = new JCheckBoxMenuItem(
ForgeProps.getLocalized(MENU_BAR.OPTIONS.GENERATE.REMOVE_SMALL));
/** Constant <code>removeArtifacts</code>. */
public static JCheckBoxMenuItem removeArtifacts = new JCheckBoxMenuItem(
ForgeProps.getLocalized(MENU_BAR.OPTIONS.GENERATE.REMOVE_ARTIFACTS));
@@ -211,8 +212,21 @@ public class OldGuiNewGame extends JFrame implements NewConstants, NewConstants.
// new stuff
JMenu generatedDeck = new JMenu(ForgeProps.getLocalized(MENU_BAR.OPTIONS.GENERATE.TITLE));
generatedDeck.add(removeSmallCreatures);
removeSmallCreatures.addActionListener(new ActionListener () {
public void actionPerformed(final ActionEvent arg0) {
Singletons.getModel().getPreferences().deckGenRmvSmall = removeSmallCreatures.isSelected();
}
});
generatedDeck.add(removeArtifacts);
removeArtifacts.addActionListener(new ActionListener () {
public void actionPerformed(final ActionEvent arg0) {
Singletons.getModel().getPreferences().deckGenRmvArtifacts = removeArtifacts.isSelected();
}
});
JMenu optionsMenu = new JMenu(ForgeProps.getLocalized(OPTIONS.TITLE));
optionsMenu.add(generatedDeck);