X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2FplayCompMove.js;h=d8dd2d470bd06eab8eb6c4514ac0851db5403f20;hb=6808d7a16ec1e761c6a2dffec2281c96953e4d89;hp=ddaeba3816e6ae65eedc426c2b3bfb8824e8cc68;hpb=e27329232b83700d63c8fb52af6f4c2eec9a569c;p=vchess.git diff --git a/client/src/playCompMove.js b/client/src/playCompMove.js index ddaeba38..d8dd2d47 100644 --- a/client/src/playCompMove.js +++ b/client/src/playCompMove.js @@ -1,26 +1,23 @@ -// TODO: https://github.com/webpack-contrib/worker-loader -// https://stackoverflow.com/questions/48713072/how-to-get-js-function-into-webworker-via-importscripts -// For asynchronous computer move search - -//self.addEventListener('message', (e) => -onmessage = async function(e) -{ - switch (e.data[0]) - { - case "scripts": +// Logic to play a computer move in a web worker +onmessage = async function(e) { + switch (e.data[0]) { + case "scripts": { const vModule = await import("@/variants/" + e.data[1] + ".js"); - self.V = vModule.VariantRules; - break; - case "init": - const fen = e.data[1]; - self.vr = new self.V(fen); - break; - case "newmove": - self.vr.play(e.data[1]); - break; - case "askmove": - const compMove = self.vr.getComputerMove(); - postMessage(compMove); - break; - } -} + self.V = vModule.VariantRules; + break; + } + case "init": { + const fen = e.data[1]; + self.vr = new self.V(fen); + break; + } + case "newmove": + self.vr.play(e.data[1]); + break; + case "askmove": { + const compMove = self.vr.getComputerMove(); + postMessage(compMove); + break; + } + } +};