game timer: Add chess-style buffer time option (#10598)

* UI Changes

* Add new buffer time options

* Main functionality

* Final implementation

Also added player UI for when they are using their buffer time (timer turns green)
This commit is contained in:
Alexander Novotny 2023-07-28 22:05:21 -04:00 committed by GitHub
parent b7543af939
commit 519b3988be
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
24 changed files with 273 additions and 16 deletions

View file

@ -150,15 +150,18 @@ public class GameController implements GameCallback {
if (playerId == null) {
throw new MageException("RESUME_TIMER: playerId can't be null");
}
Player player = game.getState().getPlayer(playerId);
if (player == null) {
throw new MageException("RESUME_TIMER: player can't be null");
}
timer = timers.get(playerId);
if (timer == null) {
Player player = game.getState().getPlayer(playerId);
if (player != null) {
timer = createPlayerTimer(event.getPlayerId(), player.getPriorityTimeLeft());
} else {
throw new MageException("RESUME_TIMER: player can't be null");
}
timer = createPlayerTimer(event.getPlayerId(), player.getPriorityTimeLeft());
}
player.setBufferTimeLeft(game.getBufferTime());
timer.setBufferCount(game.getBufferTime());
timer.resume();
break;
case PAUSE_TIMER: