X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2FplayCompMove.js;h=062eae35757a5e3b4cbd422763edace3e0f44f44;hb=1c9f093dad69e4c7b6d2b42cb5e0bd3bc7224ec9;hp=45da5113a21c9a57e96741e0b9f390ef4a227642;hpb=8d61fc4ab7373b4a576f3f9108cdf7768ae27096;p=vchess.git diff --git a/client/src/playCompMove.js b/client/src/playCompMove.js index 45da5113..062eae35 100644 --- a/client/src/playCompMove.js +++ b/client/src/playCompMove.js @@ -1,26 +1,26 @@ +// 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 -onmessage = function(e) + +//self.addEventListener('message', (e) => +onmessage = async function(e) { - switch (e.data[0]) - { - case "scripts": - self.importScripts( - '//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js', - '/javascripts/base_rules.js', - '/javascripts/utils/array.js', - '/javascripts/variants/' + e.data[1] + '.js'); - self.V = eval(e.data[1] + "Rules"); - break; - case "init": - const fen = e.data[1]; - self.vr = new VariantRules(fen); - break; - case "newmove": - self.vr.play(e.data[1]); - break; - case "askmove": - const compMove = self.vr.getComputerMove(); - postMessage(compMove); - break; - } + 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; + } }