mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 10:48:00 +00:00
Code cleanup - main, FControl, FView, FModel core.
Should fix occasional "long wait before splash" bug.
This commit is contained in:
@@ -36,14 +36,11 @@ import forge.card.FatPackData;
|
||||
import forge.card.FormatCollection;
|
||||
import forge.control.input.InputControl;
|
||||
import forge.deck.CardCollections;
|
||||
import forge.error.ExceptionHandler;
|
||||
import forge.game.GameState;
|
||||
import forge.game.GameSummary;
|
||||
import forge.game.player.ComputerAIGeneral;
|
||||
import forge.game.player.ComputerAIInput;
|
||||
import forge.gui.match.VMatchUI;
|
||||
import forge.gui.match.nonsingleton.VField;
|
||||
import forge.gui.match.views.VDev;
|
||||
import forge.gui.toolbox.FSkin;
|
||||
import forge.properties.ForgePreferences;
|
||||
import forge.properties.ForgePreferences.FPref;
|
||||
import forge.properties.ForgeProps;
|
||||
@@ -93,7 +90,6 @@ public enum FModel {
|
||||
// CardDb is not ready yet.
|
||||
private CardCollections decks;
|
||||
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
@@ -101,7 +97,9 @@ public enum FModel {
|
||||
* if we could not find or write to the log file.
|
||||
*/
|
||||
private FModel() {
|
||||
// Fire up log file
|
||||
// Fire up log file and exception handling
|
||||
ExceptionHandler.registerErrorHandling();
|
||||
|
||||
final File logFile = new File("forge.log");
|
||||
final boolean deleteSucceeded = logFile.delete();
|
||||
|
||||
@@ -140,21 +138,8 @@ public enum FModel {
|
||||
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));
|
||||
|
||||
// TODO this single setting from preferences should not be here, or,
|
||||
// it should be here with all the other settings at the same time.
|
||||
// Unfortunately, they're tied up in legacy code in the Display
|
||||
// interface,
|
||||
// currently in GuiTopLevel. When that code is updated, this TODO should
|
||||
// be resolved.
|
||||
// Doublestrike 24-01-12
|
||||
// ==
|
||||
// It's looking like all the settings at the same time, here only.
|
||||
// Doublestrike 06-02-12
|
||||
// TODO - there's got to be a better place for this...oblivion?
|
||||
Constant.Runtime.DEV_MODE[0] = this.preferences.getPrefBoolean(FPref.DEV_MODE_ENABLED);
|
||||
Constant.Runtime.setSkinName(this.preferences.getPref(FPref.UI_SKIN));
|
||||
|
||||
// Load splash image and preloader swatches for skin
|
||||
FSkin.loadLight(Constant.Runtime.getSkinName());
|
||||
|
||||
// Instantiate AI
|
||||
AllZone.setInputControl(new InputControl(FModel.this));
|
||||
@@ -380,103 +365,23 @@ public enum FModel {
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO: Needs to be reworked for efficiency with rest of prefs saves in
|
||||
* codebase.
|
||||
*
|
||||
* TODO: Remove this method completely.
|
||||
* @return true, if successful
|
||||
*/
|
||||
public final boolean savePrefs() {
|
||||
final ForgePreferences fp = this.preferences;
|
||||
final List<VField> fieldViews = VMatchUI.SINGLETON_INSTANCE.getFieldViews();
|
||||
|
||||
// AI field is at index [0]
|
||||
fp.setPref(FPref.PHASE_AI_UPKEEP, String.valueOf(fieldViews.get(0).getLblUpkeep().getEnabled()));
|
||||
fp.setPref(FPref.PHASE_AI_DRAW, String.valueOf(fieldViews.get(0).getLblDraw().getEnabled()));
|
||||
fp.setPref(FPref.PHASE_AI_MAIN1, String.valueOf(fieldViews.get(0).getLblMain1().getEnabled()));
|
||||
fp.setPref(FPref.PHASE_AI_BEGINCOMBAT, String.valueOf(fieldViews.get(0).getLblBeginCombat().getEnabled()));
|
||||
fp.setPref(FPref.PHASE_AI_DECLAREATTACKERS,
|
||||
String.valueOf(fieldViews.get(0).getLblDeclareAttackers().getEnabled()));
|
||||
fp.setPref(FPref.PHASE_AI_DECLAREBLOCKERS,
|
||||
String.valueOf(fieldViews.get(0).getLblDeclareBlockers().getEnabled()));
|
||||
fp.setPref(FPref.PHASE_AI_FIRSTSTRIKE, String.valueOf(fieldViews.get(0).getLblFirstStrike().getEnabled()));
|
||||
fp.setPref(FPref.PHASE_AI_COMBATDAMAGE, String.valueOf(fieldViews.get(0).getLblCombatDamage().getEnabled()));
|
||||
fp.setPref(FPref.PHASE_AI_ENDCOMBAT, String.valueOf(fieldViews.get(0).getLblEndCombat().getEnabled()));
|
||||
fp.setPref(FPref.PHASE_AI_MAIN2, String.valueOf(fieldViews.get(0).getLblMain2().getEnabled()));
|
||||
fp.setPref(FPref.PHASE_AI_EOT, String.valueOf(fieldViews.get(0).getLblEndTurn().getEnabled()));
|
||||
fp.setPref(FPref.PHASE_AI_CLEANUP, String.valueOf(fieldViews.get(0).getLblCleanup().getEnabled()));
|
||||
|
||||
// Human field is at index [1]
|
||||
fp.setPref(FPref.PHASE_HUMAN_UPKEEP, String.valueOf(fieldViews.get(1).getLblUpkeep().getEnabled()));
|
||||
fp.setPref(FPref.PHASE_HUMAN_DRAW, String.valueOf(fieldViews.get(1).getLblDraw().getEnabled()));
|
||||
fp.setPref(FPref.PHASE_HUMAN_MAIN1, String.valueOf(fieldViews.get(1).getLblMain1().getEnabled()));
|
||||
fp.setPref(FPref.PHASE_HUMAN_BEGINCOMBAT, String.valueOf(fieldViews.get(1).getLblBeginCombat().getEnabled()));
|
||||
fp.setPref(FPref.PHASE_HUMAN_DECLAREATTACKERS,
|
||||
String.valueOf(fieldViews.get(1).getLblDeclareAttackers().getEnabled()));
|
||||
fp.setPref(FPref.PHASE_HUMAN_DECLAREBLOCKERS,
|
||||
String.valueOf(fieldViews.get(1).getLblDeclareBlockers().getEnabled()));
|
||||
fp.setPref(FPref.PHASE_HUMAN_FIRSTSTRIKE, String.valueOf(fieldViews.get(1).getLblFirstStrike().getEnabled()));
|
||||
fp.setPref(FPref.PHASE_HUMAN_COMBATDAMAGE, String.valueOf(fieldViews.get(1).getLblCombatDamage().getEnabled()));
|
||||
fp.setPref(FPref.PHASE_HUMAN_ENDCOMBAT, String.valueOf(fieldViews.get(1).getLblEndCombat().getEnabled()));
|
||||
fp.setPref(FPref.PHASE_HUMAN_MAIN2, String.valueOf(fieldViews.get(1).getLblMain2().getEnabled()));
|
||||
fp.setPref(FPref.PHASE_HUMAN_EOT, String.valueOf(fieldViews.get(1).getLblEndTurn().getEnabled()));
|
||||
fp.setPref(FPref.PHASE_HUMAN_CLEANUP, String.valueOf(fieldViews.get(1).getLblCleanup().getEnabled()));
|
||||
|
||||
final VDev v = VDev.SINGLETON_INSTANCE;
|
||||
Constant.Runtime.MILL[0] = v.getLblMilling().getEnabled();
|
||||
|
||||
fp.setPref(FPref.DEV_MILLING_LOSS, String.valueOf(Constant.Runtime.MILL[0]));
|
||||
fp.setPref(FPref.DEV_UNLIMITED_LAND, String.valueOf(v.getLblUnlimitedLands().getEnabled()));
|
||||
|
||||
fp.save();
|
||||
this.preferences.writeMatchPreferences();
|
||||
this.preferences.save();
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO: Needs to be reworked for efficiency with rest of prefs loads in
|
||||
* codebase.
|
||||
* TODO: Remove this method completely.
|
||||
*
|
||||
* @return true, if successful
|
||||
*/
|
||||
public final boolean loadPrefs() {
|
||||
final ForgePreferences fp = Singletons.getModel().getPreferences();
|
||||
final List<VField> fieldViews = VMatchUI.SINGLETON_INSTANCE.getFieldViews();
|
||||
|
||||
Constant.Runtime.MILL[0] = fp.getPrefBoolean(FPref.DEV_MILLING_LOSS);
|
||||
Constant.Runtime.DEV_MODE[0] = fp.getPrefBoolean(FPref.DEV_MODE_ENABLED);
|
||||
Constant.Runtime.UPLOAD_DRAFT[0] = fp.getPrefBoolean(FPref.UI_UPLOAD_DRAFT);
|
||||
Constant.Runtime.RANDOM_FOIL[0] = fp.getPrefBoolean(FPref.UI_RANDOM_FOIL);
|
||||
Constant.Runtime.UPLOAD_DRAFT[0] = (Constant.Runtime.NET_CONN[0] ? fp.getPrefBoolean(FPref.UI_UPLOAD_DRAFT)
|
||||
: false);
|
||||
|
||||
// AI field is at index [0]
|
||||
fieldViews.get(0).getLblUpkeep().setEnabled(fp.getPrefBoolean(FPref.PHASE_AI_UPKEEP));
|
||||
fieldViews.get(0).getLblDraw().setEnabled(fp.getPrefBoolean(FPref.PHASE_AI_DRAW));
|
||||
fieldViews.get(0).getLblMain1().setEnabled(fp.getPrefBoolean(FPref.PHASE_AI_MAIN1));
|
||||
fieldViews.get(0).getLblBeginCombat().setEnabled(fp.getPrefBoolean(FPref.PHASE_AI_BEGINCOMBAT));
|
||||
fieldViews.get(0).getLblDeclareAttackers().setEnabled(fp.getPrefBoolean(FPref.PHASE_AI_DECLAREATTACKERS));
|
||||
fieldViews.get(0).getLblDeclareBlockers().setEnabled(fp.getPrefBoolean(FPref.PHASE_AI_DECLAREBLOCKERS));
|
||||
fieldViews.get(0).getLblFirstStrike().setEnabled(fp.getPrefBoolean(FPref.PHASE_AI_FIRSTSTRIKE));
|
||||
fieldViews.get(0).getLblCombatDamage().setEnabled(fp.getPrefBoolean(FPref.PHASE_AI_COMBATDAMAGE));
|
||||
fieldViews.get(0).getLblEndCombat().setEnabled(fp.getPrefBoolean(FPref.PHASE_AI_ENDCOMBAT));
|
||||
fieldViews.get(0).getLblMain2().setEnabled(fp.getPrefBoolean(FPref.PHASE_AI_MAIN2));
|
||||
fieldViews.get(0).getLblEndTurn().setEnabled(fp.getPrefBoolean(FPref.PHASE_AI_EOT));
|
||||
fieldViews.get(0).getLblCleanup().setEnabled(fp.getPrefBoolean(FPref.PHASE_AI_CLEANUP));
|
||||
|
||||
// Human field is at index [1]
|
||||
fieldViews.get(1).getLblUpkeep().setEnabled(fp.getPrefBoolean(FPref.PHASE_HUMAN_UPKEEP));
|
||||
fieldViews.get(1).getLblDraw().setEnabled(fp.getPrefBoolean(FPref.PHASE_HUMAN_DRAW));
|
||||
fieldViews.get(1).getLblMain1().setEnabled(fp.getPrefBoolean(FPref.PHASE_HUMAN_MAIN1));
|
||||
fieldViews.get(1).getLblBeginCombat().setEnabled(fp.getPrefBoolean(FPref.PHASE_HUMAN_BEGINCOMBAT));
|
||||
fieldViews.get(1).getLblDeclareAttackers().setEnabled(fp.getPrefBoolean(FPref.PHASE_HUMAN_DECLAREATTACKERS));
|
||||
fieldViews.get(1).getLblDeclareBlockers().setEnabled(fp.getPrefBoolean(FPref.PHASE_HUMAN_DECLAREBLOCKERS));
|
||||
fieldViews.get(1).getLblFirstStrike().setEnabled(fp.getPrefBoolean(FPref.PHASE_HUMAN_FIRSTSTRIKE));
|
||||
fieldViews.get(1).getLblCombatDamage().setEnabled(fp.getPrefBoolean(FPref.PHASE_HUMAN_COMBATDAMAGE));
|
||||
fieldViews.get(1).getLblEndCombat().setEnabled(fp.getPrefBoolean(FPref.PHASE_HUMAN_ENDCOMBAT));
|
||||
fieldViews.get(1).getLblMain2().setEnabled(fp.getPrefBoolean(FPref.PHASE_HUMAN_MAIN2));
|
||||
fieldViews.get(1).getLblEndTurn().setEnabled(fp.getPrefBoolean(FPref.PHASE_HUMAN_EOT));
|
||||
fieldViews.get(1).getLblCleanup().setEnabled(fp.getPrefBoolean(FPref.PHASE_HUMAN_CLEANUP));
|
||||
|
||||
//Singletons.getView().getViewMatch().setLayoutParams(fp.getPref(FPref.UI_LAYOUT_PARAMS));
|
||||
fp.actuateMatchPreferences();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user