mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
add option to be alerted on receipt of priority
Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>
This commit is contained in:
@@ -37,12 +37,15 @@ public class SDisplayUtil {
|
|||||||
* @param tab0   {@link java.GuiBase.getInterface().framework.IVDoc}
|
* @param tab0   {@link java.GuiBase.getInterface().framework.IVDoc}
|
||||||
*/
|
*/
|
||||||
public static void remind(final IVDoc<? extends ICDoc> tab0) {
|
public static void remind(final IVDoc<? extends ICDoc> tab0) {
|
||||||
showTab(tab0);
|
|
||||||
final JPanel pnl = tab0.getParentCell().getBody();
|
|
||||||
|
|
||||||
// To adjust, only touch these two values.
|
// To adjust, only touch these two values.
|
||||||
final int steps = 5; // Number of delays
|
final int steps = 5; // Number of delays
|
||||||
final int delay = 80; // Milliseconds between steps
|
final int delay = 80; // Milliseconds between steps
|
||||||
|
remind(tab0, steps, delay);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void remind(final IVDoc<? extends ICDoc> tab0, final int steps, final int delay) {
|
||||||
|
showTab(tab0);
|
||||||
|
final JPanel pnl = tab0.getParentCell().getBody();
|
||||||
|
|
||||||
if (remindIsRunning) { return; }
|
if (remindIsRunning) { return; }
|
||||||
if (pnl == null) { return; }
|
if (pnl == null) { return; }
|
||||||
|
|||||||
@@ -121,6 +121,7 @@ public enum CSubmenuPreferences implements ICDoc {
|
|||||||
lstControls.add(Pair.of(view.getCbDetailedPaymentDesc(), FPref.UI_DETAILED_SPELLDESC_IN_PROMPT));
|
lstControls.add(Pair.of(view.getCbDetailedPaymentDesc(), FPref.UI_DETAILED_SPELLDESC_IN_PROMPT));
|
||||||
lstControls.add(Pair.of(view.getCbPreselectPrevAbOrder(), FPref.UI_PRESELECT_PREVIOUS_ABILITY_ORDER));
|
lstControls.add(Pair.of(view.getCbPreselectPrevAbOrder(), FPref.UI_PRESELECT_PREVIOUS_ABILITY_ORDER));
|
||||||
lstControls.add(Pair.of(view.getCbShowStormCount(), FPref.UI_SHOW_STORM_COUNT_IN_PROMPT));
|
lstControls.add(Pair.of(view.getCbShowStormCount(), FPref.UI_SHOW_STORM_COUNT_IN_PROMPT));
|
||||||
|
lstControls.add(Pair.of(view.getCbRemindOnPriority(), FPref.UI_REMIND_ON_PRIORITY));
|
||||||
|
|
||||||
lstControls.add(Pair.of(view.getCbFilterLandsByColorId(), FPref.UI_FILTER_LANDS_BY_COLOR_IDENTITY));
|
lstControls.add(Pair.of(view.getCbFilterLandsByColorId(), FPref.UI_FILTER_LANDS_BY_COLOR_IDENTITY));
|
||||||
|
|
||||||
|
|||||||
@@ -93,6 +93,7 @@ public enum VSubmenuPreferences implements IVSubmenu<CSubmenuPreferences> {
|
|||||||
private final JCheckBox cbStackCreatures = new OptionsCheckBox("Stack Creatures");
|
private final JCheckBox cbStackCreatures = new OptionsCheckBox("Stack Creatures");
|
||||||
private final JCheckBox cbFilterLandsByColorId = new OptionsCheckBox("Filter Lands by Color in Activated Abilities");
|
private final JCheckBox cbFilterLandsByColorId = new OptionsCheckBox("Filter Lands by Color in Activated Abilities");
|
||||||
private final JCheckBox cbShowStormCount = new OptionsCheckBox("Show Storm Count in Prompt Pane");
|
private final JCheckBox cbShowStormCount = new OptionsCheckBox("Show Storm Count in Prompt Pane");
|
||||||
|
private final JCheckBox cbRemindOnPriority = new OptionsCheckBox("Visually Alert on Receipt of Priority");
|
||||||
|
|
||||||
private final Map<FPref, KeyboardShortcutField> shortcutFields = new HashMap<>();
|
private final Map<FPref, KeyboardShortcutField> shortcutFields = new HashMap<>();
|
||||||
|
|
||||||
@@ -186,6 +187,9 @@ public enum VSubmenuPreferences implements IVSubmenu<CSubmenuPreferences> {
|
|||||||
pnlPrefs.add(cbShowStormCount, titleConstraints);
|
pnlPrefs.add(cbShowStormCount, titleConstraints);
|
||||||
pnlPrefs.add(new NoteLabel("When enabled, displays the current storm count in the prompt pane."), descriptionConstraints);
|
pnlPrefs.add(new NoteLabel("When enabled, displays the current storm count in the prompt pane."), descriptionConstraints);
|
||||||
|
|
||||||
|
pnlPrefs.add(cbRemindOnPriority, titleConstraints);
|
||||||
|
pnlPrefs.add(new NoteLabel("When enabled, flashes the player choice area upon receiving priority."), descriptionConstraints);
|
||||||
|
|
||||||
pnlPrefs.add(cbPreselectPrevAbOrder, titleConstraints);
|
pnlPrefs.add(cbPreselectPrevAbOrder, titleConstraints);
|
||||||
pnlPrefs.add(new NoteLabel("When enabled, preselects the last defined simultaneous ability order in the ordering dialog."), descriptionConstraints);
|
pnlPrefs.add(new NoteLabel("When enabled, preselects the last defined simultaneous ability order in the ordering dialog."), descriptionConstraints);
|
||||||
|
|
||||||
@@ -684,6 +688,8 @@ public enum VSubmenuPreferences implements IVSubmenu<CSubmenuPreferences> {
|
|||||||
return cbShowStormCount;
|
return cbShowStormCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final JCheckBox getCbRemindOnPriority() { return cbRemindOnPriority; }
|
||||||
|
|
||||||
public final JCheckBox getCbPreselectPrevAbOrder() {
|
public final JCheckBox getCbPreselectPrevAbOrder() {
|
||||||
return cbPreselectPrevAbOrder;
|
return cbPreselectPrevAbOrder;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -601,6 +601,11 @@ public final class CMatchUI
|
|||||||
getCPrompt().remind();
|
getCPrompt().remind();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void alertUser() {
|
||||||
|
getCPrompt().alert();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updatePhase() {
|
public void updatePhase() {
|
||||||
final PlayerView p = getGameView().getPlayerTurn();
|
final PlayerView p = getGameView().getPlayerTurn();
|
||||||
|
|||||||
@@ -37,6 +37,8 @@ import forge.game.GameView;
|
|||||||
import forge.game.card.CardView;
|
import forge.game.card.CardView;
|
||||||
import forge.gui.framework.ICDoc;
|
import forge.gui.framework.ICDoc;
|
||||||
import forge.gui.framework.SDisplayUtil;
|
import forge.gui.framework.SDisplayUtil;
|
||||||
|
import forge.model.FModel;
|
||||||
|
import forge.properties.ForgePreferences;
|
||||||
import forge.screens.match.CMatchUI;
|
import forge.screens.match.CMatchUI;
|
||||||
import forge.screens.match.views.VPrompt;
|
import forge.screens.match.views.VPrompt;
|
||||||
import forge.toolbox.FSkin;
|
import forge.toolbox.FSkin;
|
||||||
@@ -169,6 +171,12 @@ public class CPrompt implements ICDoc {
|
|||||||
SDisplayUtil.remind(view);
|
SDisplayUtil.remind(view);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void alert() {
|
||||||
|
if (FModel.getPreferences().getPrefBoolean(ForgePreferences.FPref.UI_REMIND_ON_PRIORITY)) {
|
||||||
|
SDisplayUtil.remind(view, 15, 30);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void register() {
|
public void register() {
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -175,6 +175,10 @@ public class MatchController extends AbstractGuiGame {
|
|||||||
public void flashIncorrectAction() {
|
public void flashIncorrectAction() {
|
||||||
//SDisplayUtil.remind(VPrompt.SINGLETON_INSTANCE); //TODO
|
//SDisplayUtil.remind(VPrompt.SINGLETON_INSTANCE); //TODO
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
|
public void alertUser() {
|
||||||
|
//TODO
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updatePhase() {
|
public void updatePhase() {
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ public interface IGuiGame {
|
|||||||
void updateButtons(PlayerView owner, boolean okEnabled, boolean cancelEnabled, boolean focusOk);
|
void updateButtons(PlayerView owner, boolean okEnabled, boolean cancelEnabled, boolean focusOk);
|
||||||
void updateButtons(PlayerView owner, String label1, String label2, boolean enable1, boolean enable2, boolean focus1);
|
void updateButtons(PlayerView owner, String label1, String label2, boolean enable1, boolean enable2, boolean focus1);
|
||||||
void flashIncorrectAction();
|
void flashIncorrectAction();
|
||||||
|
void alertUser();
|
||||||
void updatePhase();
|
void updatePhase();
|
||||||
void updateTurn(PlayerView player);
|
void updateTurn(PlayerView player);
|
||||||
void updatePlayerControl();
|
void updatePlayerControl();
|
||||||
|
|||||||
@@ -60,6 +60,8 @@ public class InputPassPriority extends InputSyncronizedBase {
|
|||||||
else { //otherwise allow ending turn with cancel button
|
else { //otherwise allow ending turn with cancel button
|
||||||
getController().getGui().updateButtons(getOwner(), "OK", "End Turn", true, true, true);
|
getController().getGui().updateButtons(getOwner(), "OK", "End Turn", true, true, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getController().getGui().alertUser();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ public enum ProtocolMethod {
|
|||||||
showPromptMessage (Mode.SERVER, Void.TYPE, PlayerView.class, String.class),
|
showPromptMessage (Mode.SERVER, Void.TYPE, PlayerView.class, String.class),
|
||||||
updateButtons (Mode.SERVER, Void.TYPE, PlayerView.class, String.class, String.class, Boolean.TYPE, Boolean.TYPE, Boolean.TYPE),
|
updateButtons (Mode.SERVER, Void.TYPE, PlayerView.class, String.class, String.class, Boolean.TYPE, Boolean.TYPE, Boolean.TYPE),
|
||||||
flashIncorrectAction(Mode.SERVER),
|
flashIncorrectAction(Mode.SERVER),
|
||||||
|
alertUser (Mode.SERVER),
|
||||||
updatePhase (Mode.SERVER),
|
updatePhase (Mode.SERVER),
|
||||||
updateTurn (Mode.SERVER, Void.TYPE, PlayerView.class),
|
updateTurn (Mode.SERVER, Void.TYPE, PlayerView.class),
|
||||||
updatePlayerControl (Mode.SERVER),
|
updatePlayerControl (Mode.SERVER),
|
||||||
|
|||||||
@@ -89,6 +89,9 @@ public class NetGuiGame extends AbstractGuiGame {
|
|||||||
send(ProtocolMethod.flashIncorrectAction);
|
send(ProtocolMethod.flashIncorrectAction);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void alertUser() { send(ProtocolMethod.alertUser); }
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updatePhase() {
|
public void updatePhase() {
|
||||||
updateGameView();
|
updateGameView();
|
||||||
|
|||||||
@@ -91,6 +91,7 @@ public class ForgePreferences extends PreferencesStore<ForgePreferences.FPref> {
|
|||||||
UI_PRESELECT_PREVIOUS_ABILITY_ORDER ("false"),
|
UI_PRESELECT_PREVIOUS_ABILITY_ORDER ("false"),
|
||||||
UI_AUTO_YIELD_MODE (ForgeConstants.AUTO_YIELD_PER_ABILITY),
|
UI_AUTO_YIELD_MODE (ForgeConstants.AUTO_YIELD_PER_ABILITY),
|
||||||
UI_SHOW_STORM_COUNT_IN_PROMPT ("false"),
|
UI_SHOW_STORM_COUNT_IN_PROMPT ("false"),
|
||||||
|
UI_REMIND_ON_PRIORITY ("false"),
|
||||||
UI_CARD_COUNTER_DISPLAY_TYPE(ForgeConstants.CounterDisplayType.TEXT.getName()),
|
UI_CARD_COUNTER_DISPLAY_TYPE(ForgeConstants.CounterDisplayType.TEXT.getName()),
|
||||||
UI_CARD_COUNTER_DISPLAY_LOCATION(ForgeConstants.CounterDisplayLocation.TOP.getName()),
|
UI_CARD_COUNTER_DISPLAY_LOCATION(ForgeConstants.CounterDisplayLocation.TOP.getName()),
|
||||||
UI_ANDROID_MINIMIZE_ON_SCRLOCK("false"),
|
UI_ANDROID_MINIMIZE_ON_SCRLOCK("false"),
|
||||||
|
|||||||
Reference in New Issue
Block a user