diff --git a/www/js/interface.js b/www/js/interface.js index cc4d293..421a512 100644 --- a/www/js/interface.js +++ b/www/js/interface.js @@ -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) { diff --git a/www/js/scene.js b/www/js/scene.js index c5a2b4d..661342b 100644 --- a/www/js/scene.js +++ b/www/js/scene.js @@ -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,