rename MagicCubeDefinition to MagicCustomFormat, rename CubeDefinitions to CustomFormats

master
melvinzhang 2015-06-20 10:26:31 +08:00
parent e98c9cc3e3
commit 282c1d809d
12 changed files with 49 additions and 56 deletions

View File

@ -30,7 +30,6 @@ import magic.utility.MagicSystem;
import magic.model.MagicCardDefinition; import magic.model.MagicCardDefinition;
import magic.model.MagicChangeCardDefinition; import magic.model.MagicChangeCardDefinition;
import magic.model.MagicColor; import magic.model.MagicColor;
import magic.model.MagicCubeDefinition;
import magic.model.event.MagicHandCastActivation; import magic.model.event.MagicHandCastActivation;
import magic.utility.MagicFileSystem; import magic.utility.MagicFileSystem;
import magic.utility.MagicFileSystem.DataPath; import magic.utility.MagicFileSystem.DataPath;
@ -216,7 +215,7 @@ public class CardDefinitions {
reporter.setMessage("Loading cards...100%"); reporter.setMessage("Loading cards...100%");
// update card lists // update card lists
final MagicCubeDefinition cube = CubeDefinitions.DEFAULT_CUBE; final MagicCustomFormat cube = CustomFormats.DEFAULT_CUBE;
for (final MagicCardDefinition cardDefinition : allPlayableCardDefs.values()) { for (final MagicCardDefinition cardDefinition : allPlayableCardDefs.values()) {
if (cardDefinition.isToken() == false && cardDefinition.isHidden() == false) { if (cardDefinition.isToken() == false && cardDefinition.isHidden() == false) {
defaultPlayableCardDefs.add(cardDefinition); defaultPlayableCardDefs.add(cardDefinition);

View File

@ -10,11 +10,10 @@ import java.util.Collections;
import java.util.List; import java.util.List;
import magic.utility.MagicSystem; import magic.utility.MagicSystem;
import magic.model.MagicCardDefinition; import magic.model.MagicCardDefinition;
import magic.model.MagicCubeDefinition;
import magic.utility.MagicFileSystem; import magic.utility.MagicFileSystem;
import magic.utility.MagicFileSystem.DataPath; import magic.utility.MagicFileSystem.DataPath;
public class CubeDefinitions { public class CustomFormats {
private static final String CUBE_FILE_EXTENSION = "_cube.txt"; private static final String CUBE_FILE_EXTENSION = "_cube.txt";
private static final FileFilter CUBE_FILE_FILTER = new FileFilter() { private static final FileFilter CUBE_FILE_FILTER = new FileFilter() {
@ -24,22 +23,22 @@ public class CubeDefinitions {
} }
}; };
public static final MagicCubeDefinition DEFAULT_CUBE = new MagicCubeDefinition("all"); public static final MagicCustomFormat DEFAULT_CUBE = new MagicCustomFormat("all");
private static final List<MagicCubeDefinition> cubeDefinitions = new ArrayList<>(); private static final List<MagicCustomFormat> cubeDefinitions = new ArrayList<>();
private static MagicCubeDefinition currentCube; private static MagicCustomFormat currentCube;
static { static {
cubeDefinitions.add(DEFAULT_CUBE); cubeDefinitions.add(DEFAULT_CUBE);
currentCube = DEFAULT_CUBE; currentCube = DEFAULT_CUBE;
} }
public static MagicCubeDefinition[] getCubesArray() { public static MagicCustomFormat[] getCubesArray() {
return cubeDefinitions.toArray(new MagicCubeDefinition[cubeDefinitions.size()]); return cubeDefinitions.toArray(new MagicCustomFormat[cubeDefinitions.size()]);
} }
public static String[] getFilterValues() { public static String[] getFilterValues() {
final List<String> values = new ArrayList<>(); final List<String> values = new ArrayList<>();
for (MagicCubeDefinition cube : cubeDefinitions) { for (MagicCustomFormat cube : cubeDefinitions) {
if (cube != DEFAULT_CUBE) { if (cube != DEFAULT_CUBE) {
values.add(cube.getLabel()); values.add(cube.getLabel());
} }
@ -57,7 +56,7 @@ public class CubeDefinitions {
ex.printStackTrace(); ex.printStackTrace();
return; return;
} }
final MagicCubeDefinition cubeDefinition = new MagicCubeDefinition(name); final MagicCustomFormat cubeDefinition = new MagicCustomFormat(name);
for (final String line: content) { for (final String line: content) {
final String cardName = line.trim(); final String cardName = line.trim();
if (!cardName.isEmpty()) { if (!cardName.isEmpty()) {
@ -79,18 +78,18 @@ public class CubeDefinitions {
if (MagicSystem.showStartupStats()) { if (MagicSystem.showStartupStats()) {
System.err.println(cubeDefinitions.size()+" cube definitions"); System.err.println(cubeDefinitions.size()+" cube definitions");
for (final MagicCubeDefinition cubeDefinition : cubeDefinitions) { for (final MagicCustomFormat cubeDefinition : cubeDefinitions) {
System.err.println("Cube " + cubeDefinition); System.err.println("Cube " + cubeDefinition);
} }
} }
} }
public static boolean isCardInCube(final MagicCardDefinition card, final String cubeName) { public static boolean isCardInCube(final MagicCardDefinition card, final String cubeName) {
final MagicCubeDefinition cube = getCube(cubeName); final MagicCustomFormat cube = getCube(cubeName);
return cube.isCardLegal(card); return cube.isCardLegal(card);
} }
public static MagicCubeDefinition getCube(final String cubeLabel) { public static MagicCustomFormat getCube(final String cubeLabel) {
// prior to 1.62 the cube label including card count was saved to the duel // prior to 1.62 the cube label including card count was saved to the duel
// config file so for backwards compatibility during import need to check // config file so for backwards compatibility during import need to check
@ -98,7 +97,7 @@ public class CubeDefinitions {
final String cubeName = getCubeNameWithoutSize(cubeLabel); final String cubeName = getCubeNameWithoutSize(cubeLabel);
if (!currentCube.getName().equals(cubeName)) { if (!currentCube.getName().equals(cubeName)) {
for (MagicCubeDefinition cube : cubeDefinitions) { for (MagicCustomFormat cube : cubeDefinitions) {
if (cube.getName().equals(cubeName)) { if (cube.getName().equals(cubeName)) {
currentCube = cube; currentCube = cube;
break; break;
@ -109,8 +108,8 @@ public class CubeDefinitions {
} }
public static MagicCubeDefinition createCube(Collection<MagicCardDefinition> cardPool) { public static MagicCustomFormat createCube(Collection<MagicCardDefinition> cardPool) {
final MagicCubeDefinition cubeDefinition = new MagicCubeDefinition("random"); final MagicCustomFormat cubeDefinition = new MagicCustomFormat("random");
for (MagicCardDefinition card : cardPool) { for (MagicCardDefinition card : cardPool) {
cubeDefinition.add(card.getName()); cubeDefinition.add(card.getName());
} }

View File

@ -4,7 +4,6 @@ import java.util.Collection;
import magic.generator.RandomDeckGenerator; import magic.generator.RandomDeckGenerator;
import magic.model.MagicCardDefinition; import magic.model.MagicCardDefinition;
import magic.model.MagicColor; import magic.model.MagicColor;
import magic.model.MagicCubeDefinition;
import magic.model.MagicDeck; import magic.model.MagicDeck;
import magic.model.MagicDeckProfile; import magic.model.MagicDeckProfile;
@ -48,7 +47,7 @@ public class DeckGenerator {
} }
public MagicDeck getRandomDeck(final Collection<MagicCardDefinition> cardPool) { public MagicDeck getRandomDeck(final Collection<MagicCardDefinition> cardPool) {
final MagicCubeDefinition cubeDefinition = CubeDefinitions.createCube(cardPool); final MagicCustomFormat cubeDefinition = CustomFormats.createCube(cardPool);
final RandomDeckGenerator generator = new RandomDeckGenerator(cubeDefinition); final RandomDeckGenerator generator = new RandomDeckGenerator(cubeDefinition);
deck = new MagicDeck(); deck = new MagicDeck();
deckProfile = MagicDeckProfile.getDeckProfile(getColorText()); deckProfile = MagicDeckProfile.getDeckProfile(getColorText());

View File

@ -3,7 +3,6 @@ package magic.data;
import magic.utility.DeckUtils; import magic.utility.DeckUtils;
import magic.utility.FileIO; import magic.utility.FileIO;
import magic.generator.RandomDeckGenerator; import magic.generator.RandomDeckGenerator;
import magic.model.MagicCubeDefinition;
import magic.model.DuelPlayerConfig; import magic.model.DuelPlayerConfig;
import java.io.IOException; import java.io.IOException;
@ -117,7 +116,7 @@ public class DeckGenerators {
private static void setRandomColorDeck(final DuelPlayerConfig player) { private static void setRandomColorDeck(final DuelPlayerConfig player) {
final MagicDeckProfile deckProfile = player.getDeckProfile(); final MagicDeckProfile deckProfile = player.getDeckProfile();
final MagicDeck deck = player.getDeck(); final MagicDeck deck = player.getDeck();
final MagicCubeDefinition cubeDefinition = DuelConfig.getInstance().getCube(); final MagicCustomFormat cubeDefinition = DuelConfig.getInstance().getCube();
final RandomDeckGenerator defaultGenerator = new RandomDeckGenerator(cubeDefinition); final RandomDeckGenerator defaultGenerator = new RandomDeckGenerator(cubeDefinition);
final RandomDeckGenerator customGenerator = DeckGenerators.getDeckGenerator(deckProfile); final RandomDeckGenerator customGenerator = DeckGenerators.getDeckGenerator(deckProfile);
if (customGenerator == null) { if (customGenerator == null) {

View File

@ -6,7 +6,6 @@ import java.util.Properties;
import magic.model.MagicDeckProfile; import magic.model.MagicDeckProfile;
import magic.model.MagicDuel; import magic.model.MagicDuel;
import magic.model.DuelPlayerConfig; import magic.model.DuelPlayerConfig;
import magic.model.MagicCubeDefinition;
import magic.model.player.PlayerProfile; import magic.model.player.PlayerProfile;
import magic.model.player.PlayerProfiles; import magic.model.player.PlayerProfiles;
@ -28,7 +27,7 @@ public class DuelConfig {
private int startLife = 20; private int startLife = 20;
private int handSize = 7; private int handSize = 7;
private int games = 7; private int games = 7;
private MagicCubeDefinition cube = CubeDefinitions.DEFAULT_CUBE; private MagicCustomFormat cube = CustomFormats.DEFAULT_CUBE;
private DuelPlayerConfig[] players = new DuelPlayerConfig[MAX_PLAYERS]; private DuelPlayerConfig[] players = new DuelPlayerConfig[MAX_PLAYERS];
// CTR // CTR
@ -69,10 +68,10 @@ public class DuelConfig {
return games; return games;
} }
public MagicCubeDefinition getCube() { public MagicCustomFormat getCube() {
return cube; return cube;
} }
public void setCube(final MagicCubeDefinition aCube) { public void setCube(final MagicCustomFormat aCube) {
this.cube = aCube; this.cube = aCube;
} }
@ -95,7 +94,7 @@ public class DuelConfig {
startLife = Integer.parseInt(properties.getProperty(START_LIFE, Integer.toString(startLife))); startLife = Integer.parseInt(properties.getProperty(START_LIFE, Integer.toString(startLife)));
handSize = Integer.parseInt(properties.getProperty(HAND_SIZE, Integer.toString(handSize))); handSize = Integer.parseInt(properties.getProperty(HAND_SIZE, Integer.toString(handSize)));
games = Integer.parseInt(properties.getProperty(GAMES, Integer.toString(games))); games = Integer.parseInt(properties.getProperty(GAMES, Integer.toString(games)));
cube = CubeDefinitions.getCube(properties.getProperty(CUBE, cube.getName())); cube = CustomFormats.getCube(properties.getProperty(CUBE, cube.getName()));
loadPlayerConfigs(properties, loadPlayerDecks); loadPlayerConfigs(properties, loadPlayerDecks);
} }

View File

@ -1,17 +1,16 @@
package magic.model; package magic.data;
import java.util.Set; import java.util.Set;
import java.util.HashSet; import java.util.HashSet;
import magic.data.MagicFormat; import magic.model.MagicCardDefinition;
import magic.data.CardLegality;
public class MagicCubeDefinition extends MagicFormat { public class MagicCustomFormat extends MagicFormat {
private final Set<String> legal = new HashSet<>(); private final Set<String> legal = new HashSet<>();
private final String name; private final String name;
public MagicCubeDefinition(final String name) { public MagicCustomFormat(final String name) {
this.name=name; this.name=name;
} }
@ -20,7 +19,7 @@ public class MagicCubeDefinition extends MagicFormat {
} }
@Override @Override
public CardLegality getCardLegality(MagicCardDefinition card, int cardCount) { public CardLegality getCardLegality(final MagicCardDefinition card, final int cardCount) {
return (legal.contains(card.getName())) ? CardLegality.Legal : CardLegality.Illegal; return (legal.contains(card.getName())) ? CardLegality.Legal : CardLegality.Illegal;
} }

View File

@ -1,16 +1,16 @@
package magic.generator; package magic.generator;
import magic.data.CardDefinitions; import magic.data.CardDefinitions;
import magic.data.MagicCustomFormat;
import magic.model.MagicCardDefinition; import magic.model.MagicCardDefinition;
import magic.model.MagicCondensedDeck; import magic.model.MagicCondensedDeck;
import magic.model.MagicCubeDefinition;
import magic.model.MagicDeck; import magic.model.MagicDeck;
import magic.model.MagicDeckProfile; import magic.model.MagicDeckProfile;
import magic.model.MagicRandom; import magic.model.MagicRandom;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import magic.data.CubeDefinitions; import magic.data.CustomFormats;
import magic.data.DeckGenerator; import magic.data.DeckGenerator;
public class RandomDeckGenerator { public class RandomDeckGenerator {
@ -18,17 +18,17 @@ public class RandomDeckGenerator {
private final List<MagicCardDefinition> spellCards = new ArrayList<>(); private final List<MagicCardDefinition> spellCards = new ArrayList<>();
private final List<MagicCardDefinition> landCards = new ArrayList<>(); private final List<MagicCardDefinition> landCards = new ArrayList<>();
private MagicCubeDefinition cubeDefinition; private MagicCustomFormat cubeDefinition;
public RandomDeckGenerator(final MagicCubeDefinition cubeDefinition) { public RandomDeckGenerator(final MagicCustomFormat cubeDefinition) {
this.cubeDefinition = cubeDefinition; this.cubeDefinition = cubeDefinition;
} }
public RandomDeckGenerator() { public RandomDeckGenerator() {
this(CubeDefinitions.DEFAULT_CUBE); this(CustomFormats.DEFAULT_CUBE);
} }
public void setCubeDefinition(final MagicCubeDefinition cube) { public void setCubeDefinition(final MagicCustomFormat cube) {
cubeDefinition = cube; cubeDefinition = cube;
} }

View File

@ -18,7 +18,7 @@ import javax.swing.JPanel;
import javax.swing.JRadioButton; import javax.swing.JRadioButton;
import javax.swing.JScrollPane; import javax.swing.JScrollPane;
import magic.data.CardDefinitions; import magic.data.CardDefinitions;
import magic.data.CubeDefinitions; import magic.data.CustomFormats;
import magic.data.MagicPredefinedFormat; import magic.data.MagicPredefinedFormat;
import magic.data.MagicSetDefinitions; import magic.data.MagicSetDefinitions;
import magic.data.MagicSets; import magic.data.MagicSets;
@ -169,7 +169,7 @@ public class CardFilterPanel extends TexturedPanel implements ActionListener {
private void addCubeFilter() { private void addCubeFilter() {
cubePopup = addFilterPopupPanel("Cube"); cubePopup = addFilterPopupPanel("Cube");
final String[] filterValues = CubeDefinitions.getFilterValues(); final String[] filterValues = CustomFormats.getFilterValues();
cubeCheckBoxes = new JCheckBox[filterValues.length]; cubeCheckBoxes = new JCheckBox[filterValues.length];
cubeFilterChoices = new JRadioButton[FILTER_CHOICES.length]; cubeFilterChoices = new JRadioButton[FILTER_CHOICES.length];
populateCheckboxPopup(cubePopup, filterValues, cubeCheckBoxes, cubeFilterChoices, false); populateCheckboxPopup(cubePopup, filterValues, cubeCheckBoxes, cubeFilterChoices, false);
@ -302,7 +302,7 @@ public class CardFilterPanel extends TexturedPanel implements ActionListener {
@Override @Override
public boolean checkCard(final MagicCardDefinition card, final int i) { public boolean checkCard(final MagicCardDefinition card, final int i) {
final String cubeName = cubeCheckBoxes[i].getText(); final String cubeName = cubeCheckBoxes[i].getText();
return CubeDefinitions.isCardInCube(card, cubeName); return CustomFormats.isCardInCube(card, cubeName);
} }
})) { })) {
return false; return false;

View File

@ -1,7 +1,8 @@
package magic.ui.dialog; package magic.ui.dialog;
import magic.utility.MagicSystem; import magic.utility.MagicSystem;
import magic.data.CubeDefinitions; import magic.data.CustomFormats;
import magic.data.MagicCustomFormat;
import magic.ui.MagicFrame; import magic.ui.MagicFrame;
import magic.ui.widget.SliderPanel; import magic.ui.widget.SliderPanel;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
@ -16,9 +17,7 @@ import javax.swing.JLabel;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.JRootPane; import javax.swing.JRootPane;
import javax.swing.KeyStroke; import javax.swing.KeyStroke;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import magic.model.MagicCubeDefinition;
@SuppressWarnings("serial") @SuppressWarnings("serial")
public class DuelPropertiesDialog extends JDialog { public class DuelPropertiesDialog extends JDialog {
@ -26,7 +25,7 @@ public class DuelPropertiesDialog extends JDialog {
private final SliderPanel handSizeSliderPanel; private final SliderPanel handSizeSliderPanel;
private final SliderPanel lifeSliderPanel; private final SliderPanel lifeSliderPanel;
private final SliderPanel winsSliderPanel; private final SliderPanel winsSliderPanel;
private final JComboBox<MagicCubeDefinition> cubeComboBox; private final JComboBox<MagicCustomFormat> cubeComboBox;
private boolean isCancelled = false; private boolean isCancelled = false;
// CTR : edit an existing profile. // CTR : edit an existing profile.
@ -35,7 +34,7 @@ public class DuelPropertiesDialog extends JDialog {
final int handSize, final int handSize,
final int initialLife, final int initialLife,
final int maxGames, final int maxGames,
final MagicCubeDefinition cube final MagicCustomFormat cube
) { ) {
super(frame, true); super(frame, true);
@ -49,7 +48,7 @@ public class DuelPropertiesDialog extends JDialog {
handSizeSliderPanel = new SliderPanel("Hand size:", null, 6, 8, 1, handSize); handSizeSliderPanel = new SliderPanel("Hand size:", null, 6, 8, 1, handSize);
winsSliderPanel = new SliderPanel("Max. games:", null, 1, 11, 2, maxGames); winsSliderPanel = new SliderPanel("Max. games:", null, 1, 11, 2, maxGames);
cubeComboBox = new JComboBox<>(CubeDefinitions.getCubesArray()); cubeComboBox = new JComboBox<>(CustomFormats.getCubesArray());
cubeComboBox.setLightWeightPopupEnabled(false); cubeComboBox.setLightWeightPopupEnabled(false);
cubeComboBox.setFocusable(false); cubeComboBox.setFocusable(false);
cubeComboBox.setSelectedItem(cube); cubeComboBox.setSelectedItem(cube);
@ -130,7 +129,7 @@ public class DuelPropertiesDialog extends JDialog {
return winsSliderPanel.getValue(); return winsSliderPanel.getValue();
} }
public MagicCubeDefinition getCube() { public MagicCustomFormat getCube() {
return cubeComboBox.getItemAt(cubeComboBox.getSelectedIndex()); return cubeComboBox.getItemAt(cubeComboBox.getSelectedIndex());
} }

View File

@ -10,8 +10,8 @@ import javax.swing.JPanel;
import magic.data.DeckType; import magic.data.DeckType;
import magic.utility.DeckUtils; import magic.utility.DeckUtils;
import magic.data.DuelConfig; import magic.data.DuelConfig;
import magic.data.MagicCustomFormat;
import magic.exception.InvalidDeckException; import magic.exception.InvalidDeckException;
import magic.model.MagicCubeDefinition;
import magic.model.MagicDeck; import magic.model.MagicDeck;
import magic.model.player.IPlayerProfileListener; import magic.model.player.IPlayerProfileListener;
import magic.model.player.PlayerProfile; import magic.model.player.PlayerProfile;
@ -203,7 +203,7 @@ public class NewDuelSettingsScreen
} }
} }
public MagicCubeDefinition getCube() { public MagicCustomFormat getCube() {
return duelSettingsPanel.getCube(); return duelSettingsPanel.getCube();
} }

View File

@ -7,10 +7,10 @@ import java.awt.event.MouseEvent;
import javax.swing.ImageIcon; import javax.swing.ImageIcon;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.SwingConstants; import javax.swing.SwingConstants;
import magic.data.CubeDefinitions; import magic.data.CustomFormats;
import magic.data.DuelConfig; import magic.data.DuelConfig;
import magic.data.MagicIcon; import magic.data.MagicIcon;
import magic.model.MagicCubeDefinition; import magic.data.MagicCustomFormat;
import magic.ui.utility.GraphicsUtils; import magic.ui.utility.GraphicsUtils;
import magic.ui.IconImages; import magic.ui.IconImages;
import magic.ui.MagicFrame; import magic.ui.MagicFrame;
@ -30,7 +30,7 @@ public class DuelSettingsPanel extends TexturedPanel implements IThemeStyle {
private int startLife; private int startLife;
private int handSize; private int handSize;
private int maxGames = 7; private int maxGames = 7;
private MagicCubeDefinition cube = CubeDefinitions.DEFAULT_CUBE; private MagicCustomFormat cube = CustomFormats.DEFAULT_CUBE;
private final MouseAdapter mouseAdapter = getMouseAdapter(); private final MouseAdapter mouseAdapter = getMouseAdapter();
public DuelSettingsPanel(final MagicFrame frame, final DuelConfig config) { public DuelSettingsPanel(final MagicFrame frame, final DuelConfig config) {
@ -137,7 +137,7 @@ public class DuelSettingsPanel extends TexturedPanel implements IThemeStyle {
config.setCube(cube); config.setCube(cube);
} }
public MagicCubeDefinition getCube() { public MagicCustomFormat getCube() {
return cube; return cube;
} }

View File

@ -2,7 +2,7 @@ package magic.utility;
import magic.data.DeckGenerators; import magic.data.DeckGenerators;
import magic.data.KeywordDefinitions; import magic.data.KeywordDefinitions;
import magic.data.CubeDefinitions; import magic.data.CustomFormats;
import magic.data.CardDefinitions; import magic.data.CardDefinitions;
import magic.data.UnimplementedParser; import magic.data.UnimplementedParser;
import magic.data.GeneralConfig; import magic.data.GeneralConfig;
@ -172,7 +172,7 @@ final public class MagicSystem {
} }
reporter.setMessage("Loading cube definitions..."); reporter.setMessage("Loading cube definitions...");
CubeDefinitions.loadCubeDefinitions(); CustomFormats.loadCubeDefinitions();
reporter.setMessage("Loading deck generators..."); reporter.setMessage("Loading deck generators...");
DeckGenerators.getInstance().loadDeckGenerators(); DeckGenerators.getInstance().loadDeckGenerators();
reporter.setMessage("Loading keyword definitions..."); reporter.setMessage("Loading keyword definitions...");