Add automatic replay.

This commit is contained in:
yukirij 2024-08-23 22:23:05 -07:00
parent d70eb2e03b
commit eaaf367df9
2 changed files with 31 additions and 4 deletions

View File

@ -753,6 +753,7 @@ const INTERFACE = {
auto_mode: null,
replay_turn: 0,
replay_auto: false,
history: history,
Ui: {
@ -937,10 +938,35 @@ const INTERFACE = {
}
}
},
replay_first() { INTERFACE.replay_jump(0); },
replay_last() { INTERFACE.replay_jump(INTERFACE_DATA.history.length); },
replay_prev() { INTERFACE.replay_jump(INTERFACE_DATA.replay_turn - 1); },
replay_next() { INTERFACE.replay_jump(INTERFACE_DATA.replay_turn + 1); },
replay_first() {
INTERFACE_DATA.replay_auto = false;
INTERFACE.replay_jump(0);
},
replay_last() {
INTERFACE_DATA.replay_auto = false;
INTERFACE.replay_jump(INTERFACE_DATA.history.length);
},
replay_prev() {
INTERFACE_DATA.replay_auto = false;
INTERFACE.replay_jump(INTERFACE_DATA.replay_turn - 1);
},
replay_next() {
INTERFACE_DATA.replay_auto = false;
INTERFACE.replay_jump(INTERFACE_DATA.replay_turn + 1);
},
replay_toggle_auto() {
INTERFACE_DATA.replay_auto = !INTERFACE_DATA.replay_auto;
if(INTERFACE_DATA.replay_auto) {
setTimeout(INTERFACE.replay_auto, 1500);
}
},
replay_auto() {
if(INTERFACE_DATA.replay_auto) {
INTERFACE.replay_jump(INTERFACE_DATA.replay_turn + 1);
setTimeout(INTERFACE.replay_auto, 1500);
}
},
auto() {
if(INTERFACE_DATA.auto_mode === null) {

View File

@ -582,6 +582,7 @@ const SCENES = {
UI.mainnav(
[ ],
[
UI.button("↻", () => { INTERFACE.replay_toggle_auto(); }),
UI.button("◀", () => { INTERFACE.replay_first(); }),
UI.button("◁", () => { INTERFACE.replay_prev(); }),
ind_turn,