- Modified setting. "Text/Mana Overlay" replaced with individual toggle setting for Card Name, P/T and Mana Cost overlays.

This commit is contained in:
spr
2013-07-11 23:00:01 +00:00
parent c591902722
commit 8331e86624
4 changed files with 843 additions and 817 deletions

View File

@@ -1,222 +1,224 @@
package forge.gui.home.settings; package forge.gui.home.settings;
import java.awt.event.ItemEvent; import java.awt.event.ItemEvent;
import java.awt.event.ItemListener; import java.awt.event.ItemListener;
import java.awt.event.MouseAdapter; import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent; import java.awt.event.MouseEvent;
import java.io.File; import java.io.File;
import javax.swing.JCheckBox; import javax.swing.JCheckBox;
import javax.swing.SwingUtilities; import javax.swing.SwingUtilities;
import org.apache.commons.lang.ArrayUtils; import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.lang3.text.WordUtils; import org.apache.commons.lang3.text.WordUtils;
import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.lang3.tuple.Pair;
import forge.Command; import forge.Command;
import forge.Constant.Preferences; import forge.Constant.Preferences;
import forge.Singletons; import forge.Singletons;
import forge.control.FControl.Screens; import forge.control.FControl.Screens;
import forge.control.RestartUtil; import forge.control.RestartUtil;
import forge.game.ai.AiProfileUtil; import forge.game.ai.AiProfileUtil;
import forge.gui.framework.ICDoc; import forge.gui.framework.ICDoc;
import forge.gui.framework.SLayoutIO; import forge.gui.framework.SLayoutIO;
import forge.gui.toolbox.FSkin; import forge.gui.toolbox.FSkin;
import forge.properties.ForgePreferences; import forge.properties.ForgePreferences;
import forge.properties.ForgePreferences.FPref; import forge.properties.ForgePreferences.FPref;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
* Controls the preferences submenu in the home UI. * Controls the preferences submenu in the home UI.
* *
* <br><br><i>(C at beginning of class name denotes a control class.)</i> * <br><br><i>(C at beginning of class name denotes a control class.)</i>
* *
*/ */
public enum CSubmenuPreferences implements ICDoc { public enum CSubmenuPreferences implements ICDoc {
/** */ /** */
SINGLETON_INSTANCE; SINGLETON_INSTANCE;
private final List<Pair<JCheckBox, FPref>> lstControls = new ArrayList<Pair<JCheckBox,FPref>>(); private final List<Pair<JCheckBox, FPref>> lstControls = new ArrayList<Pair<JCheckBox,FPref>>();
/* (non-Javadoc) /* (non-Javadoc)
* @see forge.control.home.IControlSubmenu#update() * @see forge.control.home.IControlSubmenu#update()
*/ */
@SuppressWarnings("serial") @SuppressWarnings("serial")
@Override @Override
public void initialize() { public void initialize() {
final VSubmenuPreferences view = VSubmenuPreferences.SINGLETON_INSTANCE; final VSubmenuPreferences view = VSubmenuPreferences.SINGLETON_INSTANCE;
final ForgePreferences prefs = Singletons.getModel().getPreferences(); final ForgePreferences prefs = Singletons.getModel().getPreferences();
view.getLstChooseSkin().addMouseListener(new MouseAdapter() { view.getLstChooseSkin().addMouseListener(new MouseAdapter() {
@Override @Override
public void mouseClicked(final MouseEvent e) { public void mouseClicked(final MouseEvent e) {
updateSkin(); updateSkin();
} }
}); });
view.getLstChooseAIProfile().addMouseListener(new MouseAdapter() { view.getLstChooseAIProfile().addMouseListener(new MouseAdapter() {
@Override @Override
public void mouseClicked(final MouseEvent e) { public void mouseClicked(final MouseEvent e) {
updateAIProfile(); updateAIProfile();
} }
}); });
// This updates variable right now and is not standard // This updates variable right now and is not standard
view.getCbDevMode().addItemListener(new ItemListener() { view.getCbDevMode().addItemListener(new ItemListener() {
@Override @Override
public void itemStateChanged(final ItemEvent arg0) { public void itemStateChanged(final ItemEvent arg0) {
final boolean toggle = view.getCbDevMode().isSelected(); final boolean toggle = view.getCbDevMode().isSelected();
prefs.setPref(FPref.DEV_MODE_ENABLED, String.valueOf(toggle)); prefs.setPref(FPref.DEV_MODE_ENABLED, String.valueOf(toggle));
Preferences.DEV_MODE = toggle; Preferences.DEV_MODE = toggle;
prefs.save(); prefs.save();
} }
}); });
lstControls.clear(); // just in case lstControls.clear(); // just in case
lstControls.add(Pair.of(view.getCbCompactMainMenu(), FPref.UI_COMPACT_MAIN_MENU)); lstControls.add(Pair.of(view.getCbCompactMainMenu(), FPref.UI_COMPACT_MAIN_MENU));
lstControls.add(Pair.of(view.getCbAnte(), FPref.UI_ANTE)); lstControls.add(Pair.of(view.getCbAnte(), FPref.UI_ANTE));
lstControls.add(Pair.of(view.getCbManaBurn(), FPref.UI_MANABURN)); lstControls.add(Pair.of(view.getCbManaBurn(), FPref.UI_MANABURN));
lstControls.add(Pair.of(view.getCbScaleLarger(), FPref.UI_SCALE_LARGER)); lstControls.add(Pair.of(view.getCbScaleLarger(), FPref.UI_SCALE_LARGER));
lstControls.add(Pair.of(view.getCbEnforceDeckLegality(), FPref.ENFORCE_DECK_LEGALITY)); lstControls.add(Pair.of(view.getCbEnforceDeckLegality(), FPref.ENFORCE_DECK_LEGALITY));
lstControls.add(Pair.of(view.getCbCloneImgSource(), FPref.UI_CLONE_MODE_SOURCE)); lstControls.add(Pair.of(view.getCbCloneImgSource(), FPref.UI_CLONE_MODE_SOURCE));
lstControls.add(Pair.of(view.getCbRemoveSmall(), FPref.DECKGEN_NOSMALL)); lstControls.add(Pair.of(view.getCbRemoveSmall(), FPref.DECKGEN_NOSMALL));
lstControls.add(Pair.of(view.getCbRemoveArtifacts(), FPref.DECKGEN_ARTIFACTS)); lstControls.add(Pair.of(view.getCbRemoveArtifacts(), FPref.DECKGEN_ARTIFACTS));
lstControls.add(Pair.of(view.getCbSingletons(), FPref.DECKGEN_SINGLETONS)); lstControls.add(Pair.of(view.getCbSingletons(), FPref.DECKGEN_SINGLETONS));
lstControls.add(Pair.of(view.getCbUploadDraft(), FPref.UI_UPLOAD_DRAFT)); lstControls.add(Pair.of(view.getCbUploadDraft(), FPref.UI_UPLOAD_DRAFT));
lstControls.add(Pair.of(view.getCbStackLand(), FPref.UI_SMOOTH_LAND)); lstControls.add(Pair.of(view.getCbStackLand(), FPref.UI_SMOOTH_LAND));
lstControls.add(Pair.of(view.getCbRandomFoil(), FPref.UI_RANDOM_FOIL)); lstControls.add(Pair.of(view.getCbRandomFoil(), FPref.UI_RANDOM_FOIL));
lstControls.add(Pair.of(view.getCbTextMana(), FPref.UI_CARD_OVERLAY)); lstControls.add(Pair.of(view.getCbOverlayCardName(), FPref.UI_OVERLAY_CARD_NAME));
lstControls.add(Pair.of(view.getCbRandomizeArt(), FPref.UI_RANDOM_CARD_ART)); lstControls.add(Pair.of(view.getCbOverlayCardPower(), FPref.UI_OVERLAY_CARD_POWER));
lstControls.add(Pair.of(view.getCbEnableSounds(), FPref.UI_ENABLE_SOUNDS)); lstControls.add(Pair.of(view.getCbOverlayCardManaCost(), FPref.UI_OVERLAY_CARD_MANA_COST));
lstControls.add(Pair.of(view.getCbAltSoundSystem(), FPref.UI_ALT_SOUND_SYSTEM)); lstControls.add(Pair.of(view.getCbRandomizeArt(), FPref.UI_RANDOM_CARD_ART));
lstControls.add(Pair.of(view.getCbUiForTouchScreen(), FPref.UI_FOR_TOUCHSCREN)); lstControls.add(Pair.of(view.getCbEnableSounds(), FPref.UI_ENABLE_SOUNDS));
lstControls.add(Pair.of(view.getCbAltSoundSystem(), FPref.UI_ALT_SOUND_SYSTEM));
for(final Pair<JCheckBox, FPref> kv : lstControls) { lstControls.add(Pair.of(view.getCbUiForTouchScreen(), FPref.UI_FOR_TOUCHSCREN));
kv.getKey().addItemListener(new ItemListener() {
@Override for(final Pair<JCheckBox, FPref> kv : lstControls) {
public void itemStateChanged(final ItemEvent arg0) { kv.getKey().addItemListener(new ItemListener() {
prefs.setPref(kv.getValue(), String.valueOf(kv.getKey().isSelected())); @Override
prefs.save(); public void itemStateChanged(final ItemEvent arg0) {
} prefs.setPref(kv.getValue(), String.valueOf(kv.getKey().isSelected()));
}); prefs.save();
} }
});
view.getBtnReset().setCommand(new Command() { }
@Override
public void run() { view.getBtnReset().setCommand(new Command() {
ForgePreferences prefs = Singletons.getModel().getPreferences(); @Override
prefs.reset(); public void run() {
prefs.save(); ForgePreferences prefs = Singletons.getModel().getPreferences();
update(); prefs.reset();
} prefs.save();
}); update();
}
view.getBtnDeleteEditorUI().setCommand(new Command() { });
@Override
public void run() { view.getBtnDeleteEditorUI().setCommand(new Command() {
String fd = SLayoutIO.getFilePreferred(Screens.DECK_EDITOR_CONSTRUCTED); @Override
File f = new File(fd); public void run() {
f.delete(); String fd = SLayoutIO.getFilePreferred(Screens.DECK_EDITOR_CONSTRUCTED);
} File f = new File(fd);
}); f.delete();
}
view.getBtnDeleteMatchUI().setCommand(new Command() { });
@Override
public void run() { view.getBtnDeleteMatchUI().setCommand(new Command() {
String fd = SLayoutIO.getFilePreferred(Screens.MATCH_SCREEN); @Override
File f = new File(fd); public void run() {
f.delete(); String fd = SLayoutIO.getFilePreferred(Screens.MATCH_SCREEN);
} File f = new File(fd);
}); f.delete();
} }
});
/* (non-Javadoc) }
* @see forge.control.home.IControlSubmenu#update()
*/ /* (non-Javadoc)
@Override * @see forge.control.home.IControlSubmenu#update()
public void update() { */
final VSubmenuPreferences view = VSubmenuPreferences.SINGLETON_INSTANCE; @Override
final ForgePreferences prefs = Singletons.getModel().getPreferences(); public void update() {
updateSkinNames(); final VSubmenuPreferences view = VSubmenuPreferences.SINGLETON_INSTANCE;
updateAIProfiles(); final ForgePreferences prefs = Singletons.getModel().getPreferences();
updateSkinNames();
view.getCbDevMode().setSelected(prefs.getPrefBoolean(FPref.DEV_MODE_ENABLED)); updateAIProfiles();
for(Pair<JCheckBox, FPref> kv: lstControls) { view.getCbDevMode().setSelected(prefs.getPrefBoolean(FPref.DEV_MODE_ENABLED));
kv.getKey().setSelected(prefs.getPrefBoolean(kv.getValue()));
} for(Pair<JCheckBox, FPref> kv: lstControls) {
view.reloadShortcuts(); kv.getKey().setSelected(prefs.getPrefBoolean(kv.getValue()));
}
SwingUtilities.invokeLater(new Runnable() { view.reloadShortcuts();
@Override public void run() { view.getCbRemoveSmall().requestFocusInWindow(); }
}); SwingUtilities.invokeLater(new Runnable() {
} @Override public void run() { view.getCbRemoveSmall().requestFocusInWindow(); }
});
private void updateSkinNames() { }
final VSubmenuPreferences view = VSubmenuPreferences.SINGLETON_INSTANCE;
final String[] uglyNames = FSkin.getSkins().toArray(ArrayUtils.EMPTY_STRING_ARRAY); private void updateSkinNames() {
final String[] prettyNames = new String[uglyNames.length]; final VSubmenuPreferences view = VSubmenuPreferences.SINGLETON_INSTANCE;
final String currentName = Singletons.getModel().getPreferences().getPref(FPref.UI_SKIN); final String[] uglyNames = FSkin.getSkins().toArray(ArrayUtils.EMPTY_STRING_ARRAY);
int currentIndex = 0; final String[] prettyNames = new String[uglyNames.length];
final String currentName = Singletons.getModel().getPreferences().getPref(FPref.UI_SKIN);
for (int i = 0; i < uglyNames.length; i++) { int currentIndex = 0;
prettyNames[i] = WordUtils.capitalize(uglyNames[i].replace('_', ' '));
if (currentName.equalsIgnoreCase(prettyNames[i])) { currentIndex = i; } for (int i = 0; i < uglyNames.length; i++) {
} prettyNames[i] = WordUtils.capitalize(uglyNames[i].replace('_', ' '));
if (currentName.equalsIgnoreCase(prettyNames[i])) { currentIndex = i; }
view.getLstChooseSkin().setListData(prettyNames); }
view.getLstChooseSkin().setSelectedIndex(currentIndex);
view.getLstChooseSkin().ensureIndexIsVisible(view.getLstChooseSkin().getSelectedIndex()); view.getLstChooseSkin().setListData(prettyNames);
} view.getLstChooseSkin().setSelectedIndex(currentIndex);
view.getLstChooseSkin().ensureIndexIsVisible(view.getLstChooseSkin().getSelectedIndex());
private void updateAIProfiles() { }
final VSubmenuPreferences view = VSubmenuPreferences.SINGLETON_INSTANCE;
final List<String> profileNames = AiProfileUtil.getProfilesDisplayList(); private void updateAIProfiles() {
final String currentName = Singletons.getModel().getPreferences().getPref(FPref.UI_CURRENT_AI_PROFILE); final VSubmenuPreferences view = VSubmenuPreferences.SINGLETON_INSTANCE;
int currentIndex = 0; final List<String> profileNames = AiProfileUtil.getProfilesDisplayList();
final String currentName = Singletons.getModel().getPreferences().getPref(FPref.UI_CURRENT_AI_PROFILE);
for (int i = 0; i < profileNames.size(); i++) { int currentIndex = 0;
if (currentName.equalsIgnoreCase(profileNames.get(i))) { currentIndex = i; }
} for (int i = 0; i < profileNames.size(); i++) {
if (currentName.equalsIgnoreCase(profileNames.get(i))) { currentIndex = i; }
view.getLstChooseAIProfile().setListData(profileNames.toArray(ArrayUtils.EMPTY_STRING_ARRAY)); }
view.getLstChooseAIProfile().setSelectedIndex(currentIndex);
view.getLstChooseAIProfile().ensureIndexIsVisible(view.getLstChooseAIProfile().getSelectedIndex()); view.getLstChooseAIProfile().setListData(profileNames.toArray(ArrayUtils.EMPTY_STRING_ARRAY));
} view.getLstChooseAIProfile().setSelectedIndex(currentIndex);
view.getLstChooseAIProfile().ensureIndexIsVisible(view.getLstChooseAIProfile().getSelectedIndex());
@SuppressWarnings("serial") }
private void updateSkin() {
final VSubmenuPreferences view = VSubmenuPreferences.SINGLETON_INSTANCE; @SuppressWarnings("serial")
final String name = view.getLstChooseSkin().getSelectedValue().toString(); private void updateSkin() {
final ForgePreferences prefs = Singletons.getModel().getPreferences(); final VSubmenuPreferences view = VSubmenuPreferences.SINGLETON_INSTANCE;
if (name.equals(prefs.getPref(FPref.UI_SKIN))) { return; } final String name = view.getLstChooseSkin().getSelectedValue().toString();
final ForgePreferences prefs = Singletons.getModel().getPreferences();
view.getScrChooseSkin().setVisible(false); if (name.equals(prefs.getPref(FPref.UI_SKIN))) { return; }
view.getLblChooseSkin().setText("Please restart Forge (click here to close).");
view.getLblChooseSkin().setHoverable(true); view.getScrChooseSkin().setVisible(false);
view.getLblChooseSkin().setCommand(new Command() { @Override view.getLblChooseSkin().setText("Please restart Forge (click here to close).");
public void run() { RestartUtil.restartApplication(null); } }); view.getLblChooseSkin().setHoverable(true);
view.getLblChooseSkin().setCommand(new Command() { @Override
prefs.setPref(FPref.UI_SKIN, name); public void run() { RestartUtil.restartApplication(null); } });
prefs.save();
} prefs.setPref(FPref.UI_SKIN, name);
prefs.save();
private void updateAIProfile() { }
final VSubmenuPreferences view = VSubmenuPreferences.SINGLETON_INSTANCE;
final String name = view.getLstChooseAIProfile().getSelectedValue().toString(); private void updateAIProfile() {
final ForgePreferences prefs = Singletons.getModel().getPreferences(); final VSubmenuPreferences view = VSubmenuPreferences.SINGLETON_INSTANCE;
if (name.equals(prefs.getPref(FPref.UI_CURRENT_AI_PROFILE))) { return; } final String name = view.getLstChooseAIProfile().getSelectedValue().toString();
final ForgePreferences prefs = Singletons.getModel().getPreferences();
prefs.setPref(FPref.UI_CURRENT_AI_PROFILE, name); if (name.equals(prefs.getPref(FPref.UI_CURRENT_AI_PROFILE))) { return; }
prefs.save();
} prefs.setPref(FPref.UI_CURRENT_AI_PROFILE, name);
/* (non-Javadoc) prefs.save();
* @see forge.gui.framework.ICDoc#getCommandOnSelect() }
*/ /* (non-Javadoc)
@Override * @see forge.gui.framework.ICDoc#getCommandOnSelect()
public Command getCommandOnSelect() { */
return null; @Override
} public Command getCommandOnSelect() {
} return null;
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -38,7 +38,9 @@ public class ForgePreferences extends PreferencesStore<ForgePreferences.FPref> {
UI_RANDOM_FOIL ("false"), UI_RANDOM_FOIL ("false"),
UI_SMOOTH_LAND ("false"), UI_SMOOTH_LAND ("false"),
UI_AVATARS ("0,1"), UI_AVATARS ("0,1"),
UI_CARD_OVERLAY ("true"), UI_OVERLAY_CARD_NAME ("true"),
UI_OVERLAY_CARD_POWER ("true"),
UI_OVERLAY_CARD_MANA_COST ("true"),
UI_UPLOAD_DRAFT ("false"), UI_UPLOAD_DRAFT ("false"),
UI_SCALE_LARGER ("true"), UI_SCALE_LARGER ("true"),
UI_MAX_STACK ("3"), UI_MAX_STACK ("3"),

View File

@@ -125,7 +125,6 @@ public class CardPanel extends JPanel implements CardContainer {
private boolean isAnimationPanel; private boolean isAnimationPanel;
private int cardXOffset, cardYOffset, cardWidth, cardHeight; private int cardXOffset, cardYOffset, cardWidth, cardHeight;
private boolean isSelected; private boolean isSelected;
private boolean showCastingCost;
/** /**
* <p> * <p>
@@ -281,18 +280,6 @@ public class CardPanel extends JPanel implements CardContainer {
return this.isSelected; return this.isSelected;
} }
/**
* <p>
* Setter for the field <code>showCastingCost</code>.
* </p>
*
* @param showCastingCost
* a boolean.
*/
public final void setShowCastingCost(final boolean showCastingCost) {
this.showCastingCost = showCastingCost;
}
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void paint(final Graphics g) { public final void paint(final Graphics g) {
@@ -361,7 +348,7 @@ public class CardPanel extends JPanel implements CardContainer {
int height = CardFaceSymbols.getHeight(); int height = CardFaceSymbols.getHeight();
CardFaceSymbols.draw(g, cost, (this.cardXOffset + (this.cardWidth / 2)) - (width / 2), deltaY + this.cardYOffset + (this.cardHeight / 2) - height/2); CardFaceSymbols.draw(g, cost, (this.cardXOffset + (this.cardWidth / 2)) - (width / 2), deltaY + this.cardYOffset + (this.cardHeight / 2) - height/2);
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
protected final void paintChildren(final Graphics g) { protected final void paintChildren(final Graphics g) {
@@ -371,7 +358,7 @@ public class CardPanel extends JPanel implements CardContainer {
return; return;
} }
if (this.showCastingCost && this.cardWidth < 200) { if (showCardManaCostOverlay() && this.cardWidth < 200) {
Card gameCard = this.getGameCard(); Card gameCard = this.getGameCard();
boolean showSplitMana = gameCard.isSplitCard() && gameCard.getCurState() == CardCharacteristicName.Original; boolean showSplitMana = gameCard.isSplitCard() && gameCard.getCurState() == CardCharacteristicName.Original;
if ( !showSplitMana ) { if ( !showSplitMana ) {
@@ -593,34 +580,37 @@ public class CardPanel extends JPanel implements CardContainer {
* a {@link forge.Card} object. * a {@link forge.Card} object.
*/ */
public final void setText(final Card card) { public final void setText(final Card card) {
if ((card == null) || !Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_CARD_OVERLAY)) {
if ((card == null)) {
return; return;
} }
if (card.isFaceDown()) { if (card.isFaceDown()) {
this.titleText.setText(""); this.titleText.setText("");
this.showCastingCost = false;
} else { } else {
this.titleText.setText(card.getName()); if (showCardNameOverlay()) {
this.showCastingCost = true; this.titleText.setText(card.getName());
}
}
if (showCardPowerOverlay()) {
String sPt = "";
if (card.isCreature() && card.isPlaneswalker()) {
sPt = String.format("%d/%d (%d)", card.getNetAttack(), card.getNetDefense(), card.getCounters(CounterType.LOYALTY));
} else if (card.isCreature()) {
sPt = String.format("%d/%d", card.getNetAttack(), card.getNetDefense());
} else if (card.isPlaneswalker()) {
int loyalty = card.getCounters(CounterType.LOYALTY);
sPt = String.valueOf(loyalty == 0 ? card.getBaseLoyalty() : loyalty);
}
this.ptText.setText(sPt);
} }
String sPt = "";
if (card.isCreature() && card.isPlaneswalker()) {
sPt = String.format("%d/%d (%d)", card.getNetAttack(), card.getNetDefense(), card.getCounters(CounterType.LOYALTY));
} else if (card.isCreature()) {
sPt = String.format("%d/%d", card.getNetAttack(), card.getNetDefense());
} else if (card.isPlaneswalker()) {
int loyalty = card.getCounters(CounterType.LOYALTY);
sPt = String.valueOf(loyalty == 0 ? card.getBaseLoyalty() : loyalty);
}
this.ptText.setText(sPt);
int damage = card.getDamage(); int damage = card.getDamage();
this.damageText.setText(damage > 0 ? "\u00BB " + String.valueOf(damage) + " \u00AB" : ""); this.damageText.setText(damage > 0 ? "\u00BB " + String.valueOf(damage) + " \u00AB" : "");
} }
/** /**
* <p> * <p>
* getCard. * getCard.
@@ -646,13 +636,11 @@ public class CardPanel extends JPanel implements CardContainer {
} }
final BufferedImage image = card == null ? null : ImageCache.getImage(card, imagePanel.getWidth(), imagePanel.getHeight()); final BufferedImage image = card == null ? null : ImageCache.getImage(card, imagePanel.getWidth(), imagePanel.getHeight());
if ((this.getGameCard() != null) && Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_CARD_OVERLAY)) { this.setText(this.getGameCard());
this.setText(this.getGameCard());
}
this.setImage(image); this.setImage(image);
} }
/** /**
* Gets the game card. * Gets the game card.
* *
@@ -775,4 +763,22 @@ public class CardPanel extends JPanel implements CardContainer {
public static final float getBorderSize() { public static final float getBorderSize() {
return BLACK_BORDER_SIZE; return BLACK_BORDER_SIZE;
} }
private boolean isPreferenceEnabled(FPref preferenceName) {
return Singletons.getModel().getPreferences().getPrefBoolean(preferenceName);
}
private boolean showCardNameOverlay() {
return isPreferenceEnabled(FPref.UI_OVERLAY_CARD_NAME);
}
private boolean showCardPowerOverlay() {
return isPreferenceEnabled(FPref.UI_OVERLAY_CARD_POWER);
}
private boolean showCardManaCostOverlay() {
return isPreferenceEnabled(FPref.UI_OVERLAY_CARD_MANA_COST) && !this.getCard().isFaceDown();
}
} }