From 5b4dc3fbd5a6563c8d7b68c528ec815ab4d95210 Mon Sep 17 00:00:00 2001 From: Maxmtg Date: Tue, 2 Oct 2012 07:55:58 +0000 Subject: [PATCH] Constants moved to better places --- src/main/java/forge/Constant.java | 56 ++----------------- src/main/java/forge/ImageCache.java | 12 ++-- src/main/java/forge/game/GameNew.java | 3 +- .../java/forge/game/limited/GauntletMini.java | 3 +- .../gui/home/quest/SSubmenuQuestUtil.java | 3 +- .../home/sanctioned/CSubmenuConstructed.java | 3 +- .../gui/home/sanctioned/CSubmenuDraft.java | 3 +- src/main/java/forge/gui/match/CMatchUI.java | 3 +- .../java/forge/gui/match/ControlWinLose.java | 3 +- .../java/forge/gui/match/ViewWinLose.java | 7 +-- .../forge/gui/match/controllers/CMessage.java | 3 +- src/main/java/forge/model/FMatchState.java | 10 ++++ src/main/java/forge/model/FModel.java | 6 +- .../forge/properties/ForgePreferences.java | 2 +- .../forge/view/arcane/CardPanelContainer.java | 2 +- 15 files changed, 35 insertions(+), 84 deletions(-) diff --git a/src/main/java/forge/Constant.java b/src/main/java/forge/Constant.java index 5c98a80843d..380f0d4d07e 100644 --- a/src/main/java/forge/Constant.java +++ b/src/main/java/forge/Constant.java @@ -20,7 +20,6 @@ package forge; import java.util.ArrayList; import java.util.List; -import forge.game.GameType; import forge.properties.ForgeProps; import forge.properties.NewConstants; @@ -50,57 +49,14 @@ public final class Constant { } public static class Runtime { - /** The skin name. */ - private static String skinName = "default"; - - /** The game type. */ - private static GameType gameType = GameType.Constructed; - /** The Constant NetConn. */ - public static final boolean[] NET_CONN = new boolean[1]; + public static boolean NET_CONN = false; /** The Constant width. */ - public static final int[] WIDTH = { 300 }; + public static final int WIDTH = 300; /** The Constant height. */ - public static final int[] HEIGHT = new int[1]; - - /** - * Gets the game type. - * - * @return the gameType - */ - public static GameType getGameType() { - return Runtime.gameType; - } - - /** - * Sets the game type. - * - * @param gameType0 - * the gameType to set - */ - public static void setGameType(final GameType gameType0) { - Runtime.gameType = gameType0; - } - - /** - * Gets the skin name. - * - * @return the skin name - */ - public static String getSkinName() { - return Runtime.skinName; - } - - /** - * Sets the skin name. - * - * @param skinName the new skin name - */ - public static void setSkinName(final String skinName) { - Runtime.skinName = skinName; - } + public static final int HEIGHT = 0; } /** @@ -127,8 +83,7 @@ public final class Constant { public static final String COLORLESS = "colorless"; // color order "wubrg" /** The Colors. */ - public static final String[] COLORS = { Color.WHITE, Color.BLUE, Color.BLACK, Color.RED, Color.GREEN, - Color.COLORLESS }; + public static final String[] COLORS = { Color.WHITE, Color.BLUE, Color.BLACK, Color.RED, Color.GREEN, Color.COLORLESS }; /** The only colors. */ public static final String[] ONLY_COLORS = { Color.WHITE, Color.BLUE, Color.BLACK, Color.RED, Color.GREEN }; @@ -140,9 +95,6 @@ public final class Constant { public static final String[] MANA_COLORS = { Color.WHITE, Color.BLUE, Color.BLACK, Color.RED, Color.GREEN, Color.COLORLESS, Color.SNOW }; - /** The loaded. */ - public static final boolean[] LOADED = { false }; - /** The Basic lands. */ public static final String[] BASIC_LANDS = { "Plains", "Island", "Swamp", "Mountain", "Forest" }; } diff --git a/src/main/java/forge/ImageCache.java b/src/main/java/forge/ImageCache.java index 3d3cc9c3dde..3a11bb3cb63 100644 --- a/src/main/java/forge/ImageCache.java +++ b/src/main/java/forge/ImageCache.java @@ -280,10 +280,10 @@ public class ImageCache { private static boolean isExpectedSize(final String key, final BufferedImage image) { if (key.endsWith(ImageCache.NORMAL)) { // normal - return (image.getWidth() == Constant.Runtime.WIDTH[0]) && (image.getHeight() == Constant.Runtime.HEIGHT[0]); + return (image.getWidth() == Constant.Runtime.WIDTH) && (image.getHeight() == Constant.Runtime.HEIGHT); } else if (key.endsWith(ImageCache.TAPPED)) { // tapped - return (image.getWidth() == Constant.Runtime.HEIGHT[0]) && (image.getHeight() == Constant.Runtime.WIDTH[0]); + return (image.getWidth() == Constant.Runtime.HEIGHT) && (image.getHeight() == Constant.Runtime.WIDTH); } else { // original & full is never wrong return true; @@ -316,8 +316,8 @@ public class ImageCache { private static BufferedImage getNormalSizeImage(final BufferedImage original) { final int srcWidth = original.getWidth(); final int srcHeight = original.getHeight(); - final int tgtWidth = Constant.Runtime.WIDTH[0]; - final int tgtHeight = Constant.Runtime.HEIGHT[0]; + final int tgtWidth = Constant.Runtime.WIDTH; + final int tgtHeight = Constant.Runtime.HEIGHT; if ((srcWidth == tgtWidth) && (srcHeight == tgtHeight)) { return original; @@ -359,8 +359,8 @@ public class ImageCache { * int srcWidth = original.getWidth(); int srcHeight = * original.getHeight(); */ - final int tgtWidth = Constant.Runtime.WIDTH[0]; - final int tgtHeight = Constant.Runtime.HEIGHT[0]; + final int tgtWidth = Constant.Runtime.WIDTH; + final int tgtHeight = Constant.Runtime.HEIGHT; final AffineTransform at = new AffineTransform(); // at.scale((double) tgtWidth / srcWidth, (double) tgtHeight / diff --git a/src/main/java/forge/game/GameNew.java b/src/main/java/forge/game/GameNew.java index 6f5461c8c87..85a56c93279 100644 --- a/src/main/java/forge/game/GameNew.java +++ b/src/main/java/forge/game/GameNew.java @@ -19,7 +19,6 @@ import forge.CardListUtil; import forge.CardPredicates.Presets; import forge.CardPredicates; import forge.CardUtil; -import forge.Constant; import forge.Constant.Preferences; import forge.GameAction; import forge.Singletons; @@ -136,7 +135,7 @@ public class GameNew { // friendliness final boolean canRandomFoil = Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_RANDOM_FOIL) - && Constant.Runtime.getGameType().equals(GameType.Constructed); + && Singletons.getModel().getMatchState().getGameType().equals(GameType.Constructed); final Random generator = MyRandom.getRandom(); final ArrayList hAnteRemoved = new ArrayList(); diff --git a/src/main/java/forge/game/limited/GauntletMini.java b/src/main/java/forge/game/limited/GauntletMini.java index 224a92ccd71..4ce861a7adb 100644 --- a/src/main/java/forge/game/limited/GauntletMini.java +++ b/src/main/java/forge/game/limited/GauntletMini.java @@ -22,7 +22,6 @@ import javax.swing.SwingWorker; import java.util.List; import forge.AllZone; -import forge.Constant; import forge.Singletons; import forge.deck.Deck; import forge.game.GameNew; @@ -162,7 +161,7 @@ public class GauntletMini { public Object doInBackground() { - Constant.Runtime.setGameType(gauntletType); + Singletons.getModel().getMatchState().setGameType(gauntletType); GameNew.newGame(AllZone.getHumanPlayer().getDeck(), AllZone.getComputerPlayer().getDeck()); diff --git a/src/main/java/forge/gui/home/quest/SSubmenuQuestUtil.java b/src/main/java/forge/gui/home/quest/SSubmenuQuestUtil.java index 5d0a5b7be06..fe2e5106c37 100644 --- a/src/main/java/forge/gui/home/quest/SSubmenuQuestUtil.java +++ b/src/main/java/forge/gui/home/quest/SSubmenuQuestUtil.java @@ -13,7 +13,6 @@ import org.apache.commons.lang3.StringUtils; import forge.AllZone; import forge.Command; -import forge.Constant; import forge.Singletons; import forge.control.FControl; import forge.deck.Deck; @@ -234,7 +233,7 @@ public class SSubmenuQuestUtil { public Object doInBackground() { AllZone.getHumanPlayer().setDeck(SSubmenuQuestUtil.getCurrentDeck()); AllZone.getComputerPlayer().setDeck(event.getEventDeck()); - Constant.Runtime.setGameType(GameType.Quest); + Singletons.getModel().getMatchState().setGameType(GameType.Quest); qData.getChallengesManager().randomizeOpponents(); qData.getDuelsManager().randomizeOpponents(); diff --git a/src/main/java/forge/gui/home/sanctioned/CSubmenuConstructed.java b/src/main/java/forge/gui/home/sanctioned/CSubmenuConstructed.java index 7531f4ba87b..a2c51cd0bf3 100644 --- a/src/main/java/forge/gui/home/sanctioned/CSubmenuConstructed.java +++ b/src/main/java/forge/gui/home/sanctioned/CSubmenuConstructed.java @@ -25,7 +25,6 @@ import org.apache.commons.lang3.ArrayUtils; import forge.AllZone; import forge.Command; -import forge.Constant; import forge.Singletons; import forge.deck.Deck; import forge.deck.generate.Generate2ColorDeck; @@ -349,7 +348,7 @@ public enum CSubmenuConstructed implements ICDoc { AllZone.getComputerPlayer().setDeck( generateDeck(VSubmenuConstructed.SINGLETON_INSTANCE.getLstAIDecks(), PlayerType.COMPUTER)); - Constant.Runtime.setGameType(GameType.Constructed); + Singletons.getModel().getMatchState().setGameType(GameType.Constructed); if (AllZone.getHumanPlayer().getDeck() != null && AllZone.getComputerPlayer().getDeck() != null) { GameNew.newGame(AllZone.getHumanPlayer().getDeck(), AllZone.getComputerPlayer().getDeck()); diff --git a/src/main/java/forge/gui/home/sanctioned/CSubmenuDraft.java b/src/main/java/forge/gui/home/sanctioned/CSubmenuDraft.java index a4e322beeb8..d6b0be05274 100644 --- a/src/main/java/forge/gui/home/sanctioned/CSubmenuDraft.java +++ b/src/main/java/forge/gui/home/sanctioned/CSubmenuDraft.java @@ -12,7 +12,6 @@ import javax.swing.SwingWorker; import forge.AllZone; import forge.Command; -import forge.Constant; import forge.Singletons; import forge.control.FControl; import forge.deck.Deck; @@ -209,7 +208,7 @@ public enum CSubmenuDraft implements ICDoc { throw new IllegalStateException("Draft: Computer deck is null!"); } - Constant.Runtime.setGameType(GameType.Draft); + Singletons.getModel().getMatchState().setGameType(GameType.Draft); GameNew.newGame(AllZone.getHumanPlayer().getDeck(), AllZone.getComputerPlayer().getDeck()); return null; } diff --git a/src/main/java/forge/gui/match/CMatchUI.java b/src/main/java/forge/gui/match/CMatchUI.java index c6784b50184..a8612f5bc86 100644 --- a/src/main/java/forge/gui/match/CMatchUI.java +++ b/src/main/java/forge/gui/match/CMatchUI.java @@ -27,7 +27,6 @@ import javax.swing.ImageIcon; import forge.AllZone; import forge.Card; -import forge.Constant; import forge.Singletons; import forge.game.GameType; import forge.game.phase.PhaseType; @@ -75,7 +74,7 @@ public enum CMatchUI implements CardContainer { for (int i = 0; i < views.length; i++) { final Image img; // Update AI quest icon - if (i != 1 && Constant.Runtime.getGameType() == GameType.Quest) { + if (i != 1 && Singletons.getModel().getMatchState().getGameType() == GameType.Quest) { String filename = ForgeProps.getFile(NewConstants.IMAGE_ICON) + File.separator; if (strAvatarIcon != null) { diff --git a/src/main/java/forge/gui/match/ControlWinLose.java b/src/main/java/forge/gui/match/ControlWinLose.java index 273a6b477be..cbcf39be3b4 100644 --- a/src/main/java/forge/gui/match/ControlWinLose.java +++ b/src/main/java/forge/gui/match/ControlWinLose.java @@ -9,7 +9,6 @@ import javax.swing.JButton; import forge.AllZone; import forge.Card; -import forge.Constant; import forge.Singletons; import forge.control.FControl; import forge.deck.Deck; @@ -89,7 +88,7 @@ public class ControlWinLose { */ public void startNextRound() { boolean isAnte = Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_ANTE); - GameType gameType = Constant.Runtime.getGameType(); + GameType gameType = Singletons.getModel().getMatchState().getGameType(); Deck hDeck = AllZone.getHumanPlayer().getDeck(); Deck cDeck = AllZone.getComputerPlayer().getDeck(); diff --git a/src/main/java/forge/gui/match/ViewWinLose.java b/src/main/java/forge/gui/match/ViewWinLose.java index 85070bc22c3..279efa09809 100644 --- a/src/main/java/forge/gui/match/ViewWinLose.java +++ b/src/main/java/forge/gui/match/ViewWinLose.java @@ -11,7 +11,6 @@ import javax.swing.SwingConstants; import net.miginfocom.swing.MigLayout; import forge.AllZone; -import forge.Constant; import forge.Singletons; import forge.game.GameType; import forge.game.phase.PhaseHandler; @@ -55,11 +54,11 @@ public class ViewWinLose { // Control of the win/lose is handled differently for various game modes. ControlWinLose control; - if (Constant.Runtime.getGameType() == GameType.Quest) { + if (Singletons.getModel().getMatchState().getGameType() == GameType.Quest) { control = new QuestWinLoseHandler(this); } - else if ((Constant.Runtime.getGameType() == GameType.Sealed) - || (Constant.Runtime.getGameType() == GameType.Draft && AllZone.getGauntlet().getGauntletDraft())) { + else if (Singletons.getModel().getMatchState().getGameType() == GameType.Sealed + || (Singletons.getModel().getMatchState().getGameType() == GameType.Draft && AllZone.getGauntlet().getGauntletDraft())) { control = new GauntletWinLose(this); } diff --git a/src/main/java/forge/gui/match/controllers/CMessage.java b/src/main/java/forge/gui/match/controllers/CMessage.java index ce7ec05534a..949aa12b5da 100644 --- a/src/main/java/forge/gui/match/controllers/CMessage.java +++ b/src/main/java/forge/gui/match/controllers/CMessage.java @@ -21,7 +21,6 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import forge.Command; -import forge.Constant; import forge.Singletons; import forge.gui.GuiInput; import forge.gui.framework.ICDoc; @@ -86,7 +85,7 @@ public enum CMessage implements ICDoc { /** Updates counter label in message area. */ public void updateGameInfo() { VMessage.SINGLETON_INSTANCE.getLblGames().setText( - Constant.Runtime.getGameType().toString() + ": Game #" + Singletons.getModel().getMatchState().getGameType().toString() + ": Game #" + (Singletons.getModel().getMatchState().getGamesPlayedCount() + 1) + " of " + Singletons.getModel().getMatchState().getGamesPerMatch() + ", turn " + Singletons.getModel().getGameSummary().getLastTurnNumber()); diff --git a/src/main/java/forge/model/FMatchState.java b/src/main/java/forge/model/FMatchState.java index a2989318daf..53b98f41341 100644 --- a/src/main/java/forge/model/FMatchState.java +++ b/src/main/java/forge/model/FMatchState.java @@ -26,6 +26,7 @@ import forge.AllZone; import forge.Card; import forge.game.GameSummary; +import forge.game.GameType; import forge.item.CardDb; import forge.item.CardPrinted; @@ -213,4 +214,13 @@ public class FMatchState { this.antesWon.clear(); this.antesLost.clear(); } + + private GameType gameType = GameType.Constructed; + public GameType getGameType() { + return gameType; + } + public void setGameType(final GameType gameType0) { + gameType = gameType0; + } + } diff --git a/src/main/java/forge/model/FModel.java b/src/main/java/forge/model/FModel.java index 7bbe8cec6c4..624836868d5 100644 --- a/src/main/java/forge/model/FModel.java +++ b/src/main/java/forge/model/FModel.java @@ -148,7 +148,7 @@ public enum FModel { // Set gameplay preferences and constants final HttpUtil pinger = new HttpUtil(); final String url = ForgeProps.getProperty(NewConstants.CARDFORGE_URL) + "/draftAI/ping.php"; - Constant.Runtime.NET_CONN[0] = (pinger.getURL(url).equals("pong") ? true : false); + Constant.Runtime.NET_CONN = (pinger.getURL(url).equals("pong") ? true : false); this.setBuildInfo(new BuildInfo()); FModel.loadDynamicGamedata(); @@ -231,10 +231,8 @@ public enum FModel { if (!Constant.Keywords.LOADED[0]) { final List nskwListFile = FileUtil.readFile("res/gamedata/NonStackingKWList.txt"); - if (nskwListFile.size() > 1) { - for (int i = 0; i < nskwListFile.size(); i++) { - final String s = nskwListFile.get(i); + for (String s : nskwListFile) { if (s.length() > 1) { Constant.Keywords.NON_STACKING_LIST.add(s); } diff --git a/src/main/java/forge/properties/ForgePreferences.java b/src/main/java/forge/properties/ForgePreferences.java index 92403f49364..b0dc108eca5 100644 --- a/src/main/java/forge/properties/ForgePreferences.java +++ b/src/main/java/forge/properties/ForgePreferences.java @@ -251,7 +251,7 @@ public class ForgePreferences { final List fieldViews = VMatchUI.SINGLETON_INSTANCE.getFieldViews(); Preferences.DEV_MODE = this.getPrefBoolean(FPref.DEV_MODE_ENABLED); - Preferences.UPLOAD_DRAFT = (Constant.Runtime.NET_CONN[0] ? this.getPrefBoolean(FPref.UI_UPLOAD_DRAFT) : false); + Preferences.UPLOAD_DRAFT = Constant.Runtime.NET_CONN && this.getPrefBoolean(FPref.UI_UPLOAD_DRAFT); // AI field is at index [0] fieldViews.get(0).getLblUpkeep().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_UPKEEP)); diff --git a/src/main/java/forge/view/arcane/CardPanelContainer.java b/src/main/java/forge/view/arcane/CardPanelContainer.java index 5d214820bb4..4ee4aa0c262 100644 --- a/src/main/java/forge/view/arcane/CardPanelContainer.java +++ b/src/main/java/forge/view/arcane/CardPanelContainer.java @@ -62,7 +62,7 @@ public abstract class CardPanelContainer extends JPanel { */ private int cardWidthMin = 50; - private int cardWidthMax = Constant.Runtime.WIDTH[0]; + private int cardWidthMax = Constant.Runtime.WIDTH; /** * */