Add Hot Seat Mode setting for mobile game

Prevent crash when rendering card without display area set yet
This commit is contained in:
drdev
2014-09-30 08:19:55 +00:00
parent 8fb607c92d
commit 989c6f0ffb
4 changed files with 15 additions and 9 deletions

View File

@@ -125,7 +125,7 @@ public class MatchController implements IMatchController {
@Override @Override
public boolean hotSeatMode() { public boolean hotSeatMode() {
return false; //TODO: Support toggling hot seat mode return FModel.getPreferences().getPrefBoolean(FPref.MATCH_HOT_SEAT_MODE);
} }
@Override @Override

View File

@@ -332,7 +332,8 @@ public abstract class VCardDisplayArea extends VDisplayArea {
@Override @Override
public void draw(Graphics g) { public void draw(Graphics g) {
if (displayArea.rotateCards180) { boolean rotate = displayArea != null && displayArea.rotateCards180;
if (rotate) {
float padding = getPadding(); float padding = getPadding();
float x = padding; float x = padding;
float y = padding; float y = padding;
@@ -344,7 +345,7 @@ public abstract class VCardDisplayArea extends VDisplayArea {
g.startRotateTransform(x + w / 2, y + h / 2, 180); g.startRotateTransform(x + w / 2, y + h / 2, 180);
} }
super.draw(g); super.draw(g);
if (displayArea.rotateCards180) { if (rotate) {
g.endTransform(); g.endTransform();
} }
} }

View File

@@ -65,6 +65,10 @@ public class SettingsPage extends TabPage<SettingsScreen> {
"Match Ante Rarity", "Match Ante Rarity",
"Attempts to make antes the same rarity for all players."), "Attempts to make antes the same rarity for all players."),
1); 1);
lstSettings.addItem(new BooleanSetting(FPref.MATCH_HOT_SEAT_MODE,
"Hot Seat Mode",
"When starting a game with 2 human players, use single prompt to control both players."),
1);
lstSettings.addItem(new BooleanSetting(FPref.UI_UPLOAD_DRAFT, lstSettings.addItem(new BooleanSetting(FPref.UI_UPLOAD_DRAFT,
"Upload Draft Picks", "Upload Draft Picks",
"Sends draft picks to Forge servers for analysis, to improve draft AI."), "Sends draft picks to Forge servers for analysis, to improve draft AI."),

View File

@@ -67,21 +67,22 @@ public class ForgePreferences extends PreferencesStore<ForgePreferences.FPref> {
UI_ENABLE_MUSIC ("true"), UI_ENABLE_MUSIC ("true"),
UI_ALT_SOUND_SYSTEM ("false"), UI_ALT_SOUND_SYSTEM ("false"),
UI_CURRENT_AI_PROFILE (AiProfileUtil.AI_PROFILE_RANDOM_MATCH), UI_CURRENT_AI_PROFILE (AiProfileUtil.AI_PROFILE_RANDOM_MATCH),
UI_CLONE_MODE_SOURCE ("false"), /** */ UI_CLONE_MODE_SOURCE ("false"),
UI_MATCH_IMAGE_VISIBLE ("true"), UI_MATCH_IMAGE_VISIBLE ("true"),
UI_THEMED_COMBOBOX ("true"), // Now applies to all theme settings, not just Combo. UI_THEMED_COMBOBOX ("true"), // Now applies to all theme settings, not just Combo.
UI_LOCK_TITLE_BAR ("false"), UI_LOCK_TITLE_BAR ("false"),
UI_HIDE_GAME_TABS ("false"), // Visibility of tabs in match screen. UI_HIDE_GAME_TABS ("false"), // Visibility of tabs in match screen.
UI_CLOSE_ACTION ("NONE"), UI_CLOSE_ACTION ("NONE"),
UI_MANA_LOST_PROMPT ("false"), // Prompt on losing mana when passing priority UI_MANA_LOST_PROMPT ("false"), // Prompt on losing mana when passing priority
UI_FOR_TOUCHSCREN("false"), UI_FOR_TOUCHSCREN("false"),
UI_VIBRATE_ON_LIFE_LOSS("true"), UI_VIBRATE_ON_LIFE_LOSS("true"),
UI_VIBRATE_ON_LONG_PRESS("true"), UI_VIBRATE_ON_LONG_PRESS("true"),
UI_LANGUAGE("en-US"), UI_LANGUAGE("en-US"),
MATCH_HOT_SEAT_MODE("false"), //this only applies to mobile game
MATCHPREF_PROMPT_FREE_BLOCKS("false"), MATCHPREF_PROMPT_FREE_BLOCKS("false"),
SUBMENU_CURRENTMENU ("CONSTRUCTED"), SUBMENU_CURRENTMENU ("CONSTRUCTED"),