From: Benjamin Auder Date: Fri, 22 Jan 2021 16:51:15 +0000 (+0100) Subject: Fix issue with animation of some hidden moves (Screen) X-Git-Url: https://git.auder.net/js/doc/%7B%7B%20asset%28%27mixstore/css/static/policy.css%27%29%20%7D%7D?a=commitdiff_plain;h=15c406ab55cd3965fe806eb094938bcf61d64e65;p=vchess.git Fix issue with animation of some hidden moves (Screen) --- diff --git a/client/src/components/ComputerGame.vue b/client/src/components/ComputerGame.vue index fbf2d8e7..91689229 100644 --- a/client/src/components/ComputerGame.vue +++ b/client/src/components/ComputerGame.vue @@ -44,10 +44,14 @@ export default { setTimeout(() => { if (this.currentUrl != document.location.href) return; //page change self.$refs["basegame"].play(compMove, "received"); - const animationLength = + let animationLength = 0; + const mvArray = (Array.isArray(compMove) ? compMove : [compMove]); + const realLength = + mvArray.filter(m => m.start.x >= 0 && !m.end.noHighlight).length; + if (realLength >= 1) // 250 = length of animation, 500 = delay between sub-moves // TODO: a callback would be cleaner. - 250 + (Array.isArray(compMove) ? (compMove.length - 1) * 750 : 0); + animationLength = 250 + (realLength - 1) * 750; setTimeout( () => { self.compThink = false;