* UI: choose modes dialog improves:

* Added hotkeys to select options (1-9 for choice, SPACE/ENTER for done, ESC for cancel);
 * "Up to" modes choose dialog - added "done" button in dialog;
 * "Up to" modes choose dialog - fixed that user can't cancel if already selected one mode;
 * Added extra info about source object, selected and remaining modes to select, ability number for hotkey;
 * Fixed that mode choose dialog doesn't close on cancel (#6199);
This commit is contained in:
Oleg Agafonov 2020-01-18 06:30:44 +04:00
parent cf97b9e6c7
commit 8add25fa12
6 changed files with 179 additions and 40 deletions

View file

@ -207,7 +207,7 @@ public class GameController implements GameCallback {
choosePile(event.getPlayerId(), event.getMessage(), event.getPile1(), event.getPile2());
break;
case CHOOSE_MODE:
chooseMode(event.getPlayerId(), event.getModes());
chooseMode(event.getPlayerId(), event.getModes(), event.getMessage());
break;
case CHOOSE_CHOICE:
chooseChoice(event.getPlayerId(), event.getChoice());
@ -769,8 +769,8 @@ public class GameController implements GameCallback {
perform(playerId, playerId1 -> getGameSession(playerId1).choosePile(message, new CardsView(pile1), new CardsView(pile2)));
}
private synchronized void chooseMode(UUID playerId, final Map<UUID, String> modes) throws MageException {
perform(playerId, playerId1 -> getGameSession(playerId1).chooseAbility(new AbilityPickerView(modes)));
private synchronized void chooseMode(UUID playerId, final Map<UUID, String> modes, final String message) throws MageException {
perform(playerId, playerId1 -> getGameSession(playerId1).chooseAbility(new AbilityPickerView(modes, message)));
}
private synchronized void chooseChoice(UUID playerId, final Choice choice) throws MageException {