X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=base_rules.js;h=038126e3dbc5827f4b445ddc4174538adad5cc2b;hb=8022d544e472df7a213f95bd66f64d6f9cb14aaa;hp=5b4907731ce2a30df7ad7e3972350b16bf31ed12;hpb=cc2c71836442d7495ec570f8f78c006ea60852e0;p=xogo.git diff --git a/base_rules.js b/base_rules.js index 5b49077..038126e 100644 --- a/base_rules.js +++ b/base_rules.js @@ -1391,6 +1391,7 @@ export default class ChessRules { return; //king isn't captured this way } const steps = pieces[p].attack || pieces[p].steps; + if (!steps) return; //cannibal king for example (TODO...) const range = pieces[p].range; steps.forEach(s => { // From x,y: revert step @@ -2159,20 +2160,21 @@ export default class ChessRules { }; animateRec(0); }; - const checkDisplayThenAnimate = () => { + // Delay if user wasn't focused: + const checkDisplayThenAnimate = (delay) => { if (boardContainer.style.display == "none") { alert("New move! Let's go back to game..."); document.getElementById("gameInfos").style.display = "none"; boardContainer.style.display = "block"; setTimeout(launchAnimation, 700); } - else launchAnimation(); //focused user! + else setTimeout(launchAnimation, delay || 0); }; let boardContainer = document.getElementById("boardContainer"); if (document.hidden) { document.onvisibilitychange = () => { document.onvisibilitychange = undefined; - checkDisplayThenAnimate(); + checkDisplayThenAnimate(700); }; } else checkDisplayThenAnimate();