mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 20:28:00 +00:00
Add preference how to display alternate card states in deck views
This commit is contained in:
committed by
Michael Kamensky
parent
a3fc74c44e
commit
c13e379908
@@ -46,7 +46,9 @@ import forge.itemmanager.ItemManager;
|
|||||||
import forge.itemmanager.ItemManagerConfig;
|
import forge.itemmanager.ItemManagerConfig;
|
||||||
import forge.itemmanager.ItemManagerModel;
|
import forge.itemmanager.ItemManagerModel;
|
||||||
import forge.itemmanager.SItemManagerUtil;
|
import forge.itemmanager.SItemManagerUtil;
|
||||||
|
import forge.localinstance.properties.ForgeConstants;
|
||||||
import forge.localinstance.properties.ForgePreferences;
|
import forge.localinstance.properties.ForgePreferences;
|
||||||
|
import forge.localinstance.properties.ForgePreferences.FPref;
|
||||||
import forge.localinstance.skin.FSkinProp;
|
import forge.localinstance.skin.FSkinProp;
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
import forge.screens.deckeditor.CDeckEditorUI;
|
import forge.screens.deckeditor.CDeckEditorUI;
|
||||||
@@ -796,6 +798,10 @@ public class ImageView<T extends InventoryItem> extends ItemView<T> {
|
|||||||
if (hoveredItem == item) { return false; }
|
if (hoveredItem == item) { return false; }
|
||||||
hoveredItem = item;
|
hoveredItem = item;
|
||||||
if (item != null) {
|
if (item != null) {
|
||||||
|
final CDetailPicture cDetailPicture = itemManager.getCDetailPicture();
|
||||||
|
if (cDetailPicture != null) {
|
||||||
|
cDetailPicture.displayAlt(item.alt);
|
||||||
|
}
|
||||||
showHoveredItem(item.item);
|
showHoveredItem(item.item);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
@@ -999,6 +1005,7 @@ public class ImageView<T extends InventoryItem> extends ItemView<T> {
|
|||||||
private final T item;
|
private final T item;
|
||||||
private int index;
|
private int index;
|
||||||
private boolean selected;
|
private boolean selected;
|
||||||
|
private boolean alt;
|
||||||
|
|
||||||
private ItemInfo(T item0) {
|
private ItemInfo(T item0) {
|
||||||
item = item0;
|
item = item0;
|
||||||
@@ -1115,6 +1122,7 @@ public class ImageView<T extends InventoryItem> extends ItemView<T> {
|
|||||||
if (pile.getTop() >= visibleBottom) {
|
if (pile.getTop() >= visibleBottom) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (ItemInfo itemInfo : pile.items) {
|
for (ItemInfo itemInfo : pile.items) {
|
||||||
if (itemInfo.getBottom() < visibleTop) {
|
if (itemInfo.getBottom() < visibleTop) {
|
||||||
continue;
|
continue;
|
||||||
@@ -1122,6 +1130,28 @@ public class ImageView<T extends InventoryItem> extends ItemView<T> {
|
|||||||
if (itemInfo.getTop() >= visibleBottom) {
|
if (itemInfo.getTop() >= visibleBottom) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
InventoryItem item = itemInfo.item;
|
||||||
|
itemInfo.alt = false;
|
||||||
|
if (!FModel.getPreferences().getPref(FPref.UI_SWITCH_STATES_DECKVIEW).equals(ForgeConstants.SWITCH_CARDSTATES_DECK_NEVER)) {
|
||||||
|
if ((hoveredItem == null || !hoveredItem.item.equals(item)) || (FModel.getPreferences().getPref(FPref.UI_SWITCH_STATES_DECKVIEW).equals(ForgeConstants.SWITCH_CARDSTATES_DECK_ALWAYS))) {
|
||||||
|
if (item instanceof PaperCard) {
|
||||||
|
if (ImageUtil.hasBackFacePicture(((PaperCard)item))) {
|
||||||
|
if (item.equals(lastAltCard)) {
|
||||||
|
itemInfo.alt = true;
|
||||||
|
lastAltCard = null;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
lastAltCard = item;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
lastAltCard = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (itemInfo != hoveredItem) { //save hovered item for last
|
if (itemInfo != hoveredItem) { //save hovered item for last
|
||||||
drawItemImage(g2d, itemInfo);
|
drawItemImage(g2d, itemInfo);
|
||||||
}
|
}
|
||||||
@@ -1149,12 +1179,13 @@ public class ImageView<T extends InventoryItem> extends ItemView<T> {
|
|||||||
Rectangle bounds = itemInfo.getBounds();
|
Rectangle bounds = itemInfo.getBounds();
|
||||||
final int itemWidth = bounds.width;
|
final int itemWidth = bounds.width;
|
||||||
final int selBorderSize = 1;
|
final int selBorderSize = 1;
|
||||||
boolean deckSelectMode = itemInfo.item instanceof DeckProxy;
|
InventoryItem item = itemInfo.item;
|
||||||
|
boolean deckSelectMode = item instanceof DeckProxy;
|
||||||
|
|
||||||
// Determine whether to render border from properties
|
// Determine whether to render border from properties
|
||||||
boolean noBorder = !isPreferenceEnabled(ForgePreferences.FPref.UI_RENDER_BLACK_BORDERS);
|
boolean noBorder = !isPreferenceEnabled(ForgePreferences.FPref.UI_RENDER_BLACK_BORDERS);
|
||||||
if (itemInfo.item instanceof IPaperCard) {
|
if (item instanceof IPaperCard) {
|
||||||
CardView cv = CardView.getCardForUi((IPaperCard) itemInfo.item);
|
CardView cv = CardView.getCardForUi((IPaperCard) item);
|
||||||
// Amonkhet Invocations
|
// Amonkhet Invocations
|
||||||
noBorder |= cv.getCurrentState().getSetCode().equalsIgnoreCase("MPS_AKH");
|
noBorder |= cv.getCurrentState().getSetCode().equalsIgnoreCase("MPS_AKH");
|
||||||
// Unstable basic lands
|
// Unstable basic lands
|
||||||
@@ -1174,27 +1205,7 @@ public class ImageView<T extends InventoryItem> extends ItemView<T> {
|
|||||||
g.setColor(Color.black);
|
g.setColor(Color.black);
|
||||||
g.fillRoundRect(bounds.x, bounds.y, bounds.width, bounds.height, cornerSize, cornerSize);
|
g.fillRoundRect(bounds.x, bounds.y, bounds.width, bounds.height, cornerSize, cornerSize);
|
||||||
|
|
||||||
InventoryItem item = itemInfo.item;
|
BufferedImage img = ImageCache.getImage(item, bounds.width - 2 * borderSize, bounds.height - 2 * borderSize, itemInfo.alt);
|
||||||
|
|
||||||
boolean tryAltState = false;
|
|
||||||
if (hoveredItem == null || hoveredItem.item != item) {
|
|
||||||
if (item instanceof PaperCard) {
|
|
||||||
if (ImageUtil.hasBackFacePicture(((PaperCard)item))) {
|
|
||||||
if (item.equals(lastAltCard)) {
|
|
||||||
tryAltState = true;
|
|
||||||
lastAltCard = null;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
lastAltCard = item;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
lastAltCard = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
BufferedImage img = ImageCache.getImage(item, bounds.width - 2 * borderSize, bounds.height - 2 * borderSize, tryAltState);
|
|
||||||
|
|
||||||
if (img != null) {
|
if (img != null) {
|
||||||
g.drawImage(img, null, bounds.x + borderSize, bounds.y + borderSize);
|
g.drawImage(img, null, bounds.x + borderSize, bounds.y + borderSize);
|
||||||
|
|||||||
@@ -257,6 +257,7 @@ public enum CSubmenuPreferences implements ICDoc {
|
|||||||
initializeStackAdditionsComboBox();
|
initializeStackAdditionsComboBox();
|
||||||
initializeLandPlayedComboBox();
|
initializeLandPlayedComboBox();
|
||||||
initializeColorIdentityCombobox();
|
initializeColorIdentityCombobox();
|
||||||
|
initializeSwitchStatesCombobox();
|
||||||
initializeAutoYieldModeComboBox();
|
initializeAutoYieldModeComboBox();
|
||||||
initializeCounterDisplayTypeComboBox();
|
initializeCounterDisplayTypeComboBox();
|
||||||
initializeCounterDisplayLocationComboBox();
|
initializeCounterDisplayLocationComboBox();
|
||||||
@@ -480,6 +481,15 @@ public enum CSubmenuPreferences implements ICDoc {
|
|||||||
panel.setComboBox(comboBox, selectedItem);
|
panel.setComboBox(comboBox, selectedItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void initializeSwitchStatesCombobox() {
|
||||||
|
final String[] elems = {ForgeConstants.SWITCH_CARDSTATES_DECK_NEVER, ForgeConstants.SWITCH_CARDSTATES_DECK_HOVER, ForgeConstants.SWITCH_CARDSTATES_DECK_ALWAYS};
|
||||||
|
final FPref userSetting = FPref.UI_SWITCH_STATES_DECKVIEW;
|
||||||
|
final FComboBoxPanel<String> panel = this.view.getSwitchStates();
|
||||||
|
final FComboBox<String> comboBox = createComboBox(elems, userSetting);
|
||||||
|
final String selectedItem = this.prefs.getPref(userSetting);
|
||||||
|
panel.setComboBox(comboBox, selectedItem);
|
||||||
|
}
|
||||||
|
|
||||||
private void initializeAutoYieldModeComboBox() {
|
private void initializeAutoYieldModeComboBox() {
|
||||||
final String[] elems = {ForgeConstants.AUTO_YIELD_PER_ABILITY, ForgeConstants.AUTO_YIELD_PER_CARD};
|
final String[] elems = {ForgeConstants.AUTO_YIELD_PER_ABILITY, ForgeConstants.AUTO_YIELD_PER_CARD};
|
||||||
final FPref userSetting = FPref.UI_AUTO_YIELD_MODE;
|
final FPref userSetting = FPref.UI_AUTO_YIELD_MODE;
|
||||||
|
|||||||
@@ -143,6 +143,7 @@ public enum VSubmenuPreferences implements IVSubmenu<CSubmenuPreferences> {
|
|||||||
private final FComboBoxPanel<String> cbpGraveyardOrdering = new FComboBoxPanel<>(localizer.getMessage("cbpGraveyardOrdering")+":");
|
private final FComboBoxPanel<String> cbpGraveyardOrdering = new FComboBoxPanel<>(localizer.getMessage("cbpGraveyardOrdering")+":");
|
||||||
private final FComboBoxPanel<String> cbpDefaultLanguage = new FComboBoxPanel<>(localizer.getMessage("cbpSelectLanguage")+":");
|
private final FComboBoxPanel<String> cbpDefaultLanguage = new FComboBoxPanel<>(localizer.getMessage("cbpSelectLanguage")+":");
|
||||||
private final FComboBoxPanel<String> cbpAutoUpdater = new FComboBoxPanel<>(localizer.getMessage("cbpAutoUpdater")+":");
|
private final FComboBoxPanel<String> cbpAutoUpdater = new FComboBoxPanel<>(localizer.getMessage("cbpAutoUpdater")+":");
|
||||||
|
private final FComboBoxPanel<String> cbpSwitchStates = new FComboBoxPanel<>(localizer.getMessage("cbpSwitchStates")+":");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor.
|
* Constructor.
|
||||||
@@ -384,6 +385,9 @@ public enum VSubmenuPreferences implements IVSubmenu<CSubmenuPreferences> {
|
|||||||
pnlPrefs.add(cbpDisplayCurrentCardColors, comboBoxConstraints);
|
pnlPrefs.add(cbpDisplayCurrentCardColors, comboBoxConstraints);
|
||||||
pnlPrefs.add(new NoteLabel(localizer.getMessage("nlDisplayCurrentCardColors")), descriptionConstraints);
|
pnlPrefs.add(new NoteLabel(localizer.getMessage("nlDisplayCurrentCardColors")), descriptionConstraints);
|
||||||
|
|
||||||
|
pnlPrefs.add(cbpSwitchStates, comboBoxConstraints);
|
||||||
|
pnlPrefs.add(new NoteLabel(localizer.getMessage("nlSwitchStates")), descriptionConstraints);
|
||||||
|
|
||||||
// Sound options
|
// Sound options
|
||||||
pnlPrefs.add(new SectionLabel(localizer.getMessage("SoundOptions")), sectionConstraints + ", gaptop 2%");
|
pnlPrefs.add(new SectionLabel(localizer.getMessage("SoundOptions")), sectionConstraints + ", gaptop 2%");
|
||||||
|
|
||||||
@@ -732,6 +736,10 @@ public enum VSubmenuPreferences implements IVSubmenu<CSubmenuPreferences> {
|
|||||||
return cbpDisplayCurrentCardColors;
|
return cbpDisplayCurrentCardColors;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public FComboBoxPanel<String> getSwitchStates() {
|
||||||
|
return cbpSwitchStates;
|
||||||
|
}
|
||||||
|
|
||||||
public FComboBoxPanel<CloseAction> getCloseActionComboBoxPanel() {
|
public FComboBoxPanel<CloseAction> getCloseActionComboBoxPanel() {
|
||||||
return cbpCloseAction;
|
return cbpCloseAction;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -39,11 +39,15 @@ public class CDetailPicture {
|
|||||||
return cPicture;
|
return cPicture;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void displayAlt(final boolean showAlt) {
|
||||||
|
isDisplayAlt = showAlt;
|
||||||
|
}
|
||||||
|
|
||||||
public void showCard(final CardView c, final boolean showAlt) {
|
public void showCard(final CardView c, final boolean showAlt) {
|
||||||
currentView = c;
|
currentView = c;
|
||||||
final boolean mayView = mayView(), mayFlip = mayView && mayFlip();
|
final boolean mayFlip = mayView() && mayFlip();
|
||||||
isDisplayAlt = mayFlip && showAlt;
|
isDisplayAlt = mayFlip && showAlt;
|
||||||
alwaysDisplayAlt = mayView && mayFlip && c.isFaceDown();
|
alwaysDisplayAlt = mayFlip && c.isFaceDown();
|
||||||
|
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
@@ -65,7 +69,7 @@ public class CDetailPicture {
|
|||||||
c.getCurrentState().setFoilIndexOverride(1);
|
c.getCurrentState().setFoilIndexOverride(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
showCard(c, false);
|
showCard(c, isDisplayAlt);
|
||||||
} else {
|
} else {
|
||||||
currentView = null;
|
currentView = null;
|
||||||
isDisplayAlt = false;
|
isDisplayAlt = false;
|
||||||
|
|||||||
@@ -193,6 +193,8 @@ nlSrOptimize=Setze verschiedene Optionen, um Forge besser für Screenreader lesb
|
|||||||
KeyboardShortcuts=Tastenkombinationen
|
KeyboardShortcuts=Tastenkombinationen
|
||||||
cbpLandPlayed=Land-kommt-ins-Spiel-Benachrichtigung
|
cbpLandPlayed=Land-kommt-ins-Spiel-Benachrichtigung
|
||||||
nlpLandPlayed=Wenn ein Land auf das Spielfeld kommt, wann möchtest du eine Benachrichtigung bekommen: Niemals, immer oder nur bei Aktionen der KI?
|
nlpLandPlayed=Wenn ein Land auf das Spielfeld kommt, wann möchtest du eine Benachrichtigung bekommen: Niemals, immer oder nur bei Aktionen der KI?
|
||||||
|
cbpSwitchStates=Switch card states
|
||||||
|
nlSwitchStates=Display alternate state for every second copy in deck viewers.
|
||||||
#VSubmenuAchievements.java
|
#VSubmenuAchievements.java
|
||||||
lblAchievements=Errungenschaften
|
lblAchievements=Errungenschaften
|
||||||
#VSubmenuDownloaders.java
|
#VSubmenuDownloaders.java
|
||||||
|
|||||||
@@ -193,6 +193,8 @@ nlSrOptimize=Set various options to make FOrge work better with screen readers
|
|||||||
KeyboardShortcuts=Keyboard Shortcuts
|
KeyboardShortcuts=Keyboard Shortcuts
|
||||||
cbpLandPlayed=Land entering battlefield notifications
|
cbpLandPlayed=Land entering battlefield notifications
|
||||||
nlpLandPlayed=Choose when you want to get visual notifications for a land entering the battlefield: Never, always, or only for the lands entering a battlefield because of an action of a AI player
|
nlpLandPlayed=Choose when you want to get visual notifications for a land entering the battlefield: Never, always, or only for the lands entering a battlefield because of an action of a AI player
|
||||||
|
cbpSwitchStates=Switch card states
|
||||||
|
nlSwitchStates=Display alternate state for every second copy in deck viewers.
|
||||||
#VSubmenuAchievements.java
|
#VSubmenuAchievements.java
|
||||||
lblAchievements=Achievements
|
lblAchievements=Achievements
|
||||||
#VSubmenuDownloaders.java
|
#VSubmenuDownloaders.java
|
||||||
|
|||||||
@@ -193,6 +193,8 @@ nlSrOptimize=Establecer varias opciones para que Forge funcione mejor con los le
|
|||||||
KeyboardShortcuts=Atajos de teclado
|
KeyboardShortcuts=Atajos de teclado
|
||||||
cbpLandPlayed=Notificación al entrar una tierra en juego
|
cbpLandPlayed=Notificación al entrar una tierra en juego
|
||||||
nlpLandPlayed=Elige cuando quieras recibir notificaciones visuales de una tierra que entra en el campo de batalla: Nunca, siempre o sólo para las tierras que entran en el campo de batalla por una acción de un jugador IA.
|
nlpLandPlayed=Elige cuando quieras recibir notificaciones visuales de una tierra que entra en el campo de batalla: Nunca, siempre o sólo para las tierras que entran en el campo de batalla por una acción de un jugador IA.
|
||||||
|
cbpSwitchStates=Switch card states
|
||||||
|
nlSwitchStates=Display alternate state for every second copy in deck viewers.
|
||||||
#VSubmenuAchievements.java
|
#VSubmenuAchievements.java
|
||||||
lblAchievements=Trofeos
|
lblAchievements=Trofeos
|
||||||
#VSubmenuDownloaders.java
|
#VSubmenuDownloaders.java
|
||||||
|
|||||||
@@ -193,6 +193,8 @@ nlSrOptimize=Set various options to make FOrge work better with screen readers
|
|||||||
KeyboardShortcuts=Tasti rapidi
|
KeyboardShortcuts=Tasti rapidi
|
||||||
cbpLandPlayed=Land entering battlefield notifications
|
cbpLandPlayed=Land entering battlefield notifications
|
||||||
nlpLandPlayed=Choose when you want to get visual notifications for a land entering the battlefield: Never, always, or only for the lands entering a battlefield because of an action of a AI player
|
nlpLandPlayed=Choose when you want to get visual notifications for a land entering the battlefield: Never, always, or only for the lands entering a battlefield because of an action of a AI player
|
||||||
|
cbpSwitchStates=Switch card states
|
||||||
|
nlSwitchStates=Display alternate state for every second copy in deck viewers.
|
||||||
#VSubmenuAchievements.java
|
#VSubmenuAchievements.java
|
||||||
lblAchievements=realizzazioni
|
lblAchievements=realizzazioni
|
||||||
#VSubmenuDownloaders.java
|
#VSubmenuDownloaders.java
|
||||||
|
|||||||
@@ -193,6 +193,8 @@ nlSrOptimize=Forge とスクリーンリーダーを上手く連動できるよ
|
|||||||
KeyboardShortcuts=キーボードショートカット
|
KeyboardShortcuts=キーボードショートカット
|
||||||
cbpLandPlayed=土地が戦場に出るときの通知
|
cbpLandPlayed=土地が戦場に出るときの通知
|
||||||
nlpLandPlayed=土地が戦場に出た時いつに通知を受けたい:Never[しない]、Always[常時]、またはAIプレイヤーの行動によるの時だけ。
|
nlpLandPlayed=土地が戦場に出た時いつに通知を受けたい:Never[しない]、Always[常時]、またはAIプレイヤーの行動によるの時だけ。
|
||||||
|
cbpSwitchStates=Switch card states
|
||||||
|
nlSwitchStates=Display alternate state for every second copy in deck viewers.
|
||||||
#VSubmenuAchievements.java
|
#VSubmenuAchievements.java
|
||||||
lblAchievements=実績
|
lblAchievements=実績
|
||||||
#VSubmenuDownloaders.java
|
#VSubmenuDownloaders.java
|
||||||
|
|||||||
@@ -193,6 +193,8 @@ nlSrOptimize=使屏幕阅读器能更好的在forge上使用
|
|||||||
KeyboardShortcuts=键盘快捷键
|
KeyboardShortcuts=键盘快捷键
|
||||||
cbpLandPlayed=当地牌进入战场发出通知
|
cbpLandPlayed=当地牌进入战场发出通知
|
||||||
nlpLandPlayed=选择你是否想收到地牌进入战场的视觉通知:从不(Never),总是(always), 或者只有当地牌是因AI玩家的动作而进入战场
|
nlpLandPlayed=选择你是否想收到地牌进入战场的视觉通知:从不(Never),总是(always), 或者只有当地牌是因AI玩家的动作而进入战场
|
||||||
|
cbpSwitchStates=Switch card states
|
||||||
|
nlSwitchStates=Display alternate state for every second copy in deck viewers.
|
||||||
#VSubmenuAchievements.java
|
#VSubmenuAchievements.java
|
||||||
lblAchievements=成就
|
lblAchievements=成就
|
||||||
#VSubmenuDownloaders.java
|
#VSubmenuDownloaders.java
|
||||||
|
|||||||
@@ -338,13 +338,18 @@ public final class ForgeConstants {
|
|||||||
public static final String STACK_EFFECT_NOTIFICATION_ALWAYS = "Always";
|
public static final String STACK_EFFECT_NOTIFICATION_ALWAYS = "Always";
|
||||||
public static final String STACK_EFFECT_NOTIFICATION_AI_AND_TRIGGERED = "AI cast/activated, or triggered by any player";
|
public static final String STACK_EFFECT_NOTIFICATION_AI_AND_TRIGGERED = "AI cast/activated, or triggered by any player";
|
||||||
|
|
||||||
// Constants for LAnd played notification policy
|
// Constants for Land played notification policy
|
||||||
public static final String LAND_PLAYED_NOTIFICATION_NEVER = "Never";
|
public static final String LAND_PLAYED_NOTIFICATION_NEVER = "Never";
|
||||||
public static final String LAND_PLAYED_NOTIFICATION_ALWAYS = "Always";
|
public static final String LAND_PLAYED_NOTIFICATION_ALWAYS = "Always";
|
||||||
public static final String LAND_PLAYED_NOTIFICATION_ALWAYS_FOR_NONBASIC_LANDS = "Always, but only for nonbasic lands";
|
public static final String LAND_PLAYED_NOTIFICATION_ALWAYS_FOR_NONBASIC_LANDS = "Always, but only for nonbasic lands";
|
||||||
public static final String LAND_PLAYED_NOTIFICATION_AI = "Lands entering a battlefield because of an action of a AI player";
|
public static final String LAND_PLAYED_NOTIFICATION_AI = "Lands entering a battlefield because of an action of a AI player";
|
||||||
public static final String LAND_PLAYED_NOTIFICATION_AI_FOR_NONBASIC_LANDS = "Nonbasic lands entering a battlefield because of an action of a AI player";
|
public static final String LAND_PLAYED_NOTIFICATION_AI_FOR_NONBASIC_LANDS = "Nonbasic lands entering a battlefield because of an action of a AI player";
|
||||||
|
|
||||||
|
// Constants for Land played notification policy
|
||||||
|
public static final String SWITCH_CARDSTATES_DECK_NEVER = "Never";
|
||||||
|
public static final String SWITCH_CARDSTATES_DECK_ALWAYS = "Always";
|
||||||
|
public static final String SWITCH_CARDSTATES_DECK_HOVER = "Switch back on hover";
|
||||||
|
|
||||||
// Set boolean constant for landscape mode for gdx port
|
// Set boolean constant for landscape mode for gdx port
|
||||||
public static final boolean isGdxPortLandscape = FileUtil.doesFileExist(ASSETS_DIR + "switch_orientation.ini");
|
public static final boolean isGdxPortLandscape = FileUtil.doesFileExist(ASSETS_DIR + "switch_orientation.ini");
|
||||||
|
|
||||||
|
|||||||
@@ -157,6 +157,7 @@ public class ForgePreferences extends PreferencesStore<ForgePreferences.FPref> {
|
|||||||
UI_DEFAULT_FONT_SIZE("12"),
|
UI_DEFAULT_FONT_SIZE("12"),
|
||||||
UI_SELECT_FROM_CARD_DISPLAYS("true"),
|
UI_SELECT_FROM_CARD_DISPLAYS("true"),
|
||||||
UI_FOR_TOUCHSCREN("false"),
|
UI_FOR_TOUCHSCREN("false"),
|
||||||
|
UI_SWITCH_STATES_DECKVIEW("Always"),
|
||||||
|
|
||||||
UI_VIBRATE_ON_LIFE_LOSS("true"),
|
UI_VIBRATE_ON_LIFE_LOSS("true"),
|
||||||
UI_VIBRATE_ON_LONG_PRESS("true"),
|
UI_VIBRATE_ON_LONG_PRESS("true"),
|
||||||
|
|||||||
Reference in New Issue
Block a user