diff --git a/packages/core/cyclistworker.js b/packages/core/cyclistworker.js index 56af5531..45f6a729 100644 --- a/packages/core/cyclistworker.js +++ b/packages/core/cyclistworker.js @@ -65,15 +65,21 @@ self.onconnect = function (e) { var port = e.ports[0]; allPorts.push(port); - allPorts.forEach((port) => { - port.postMessage('yoooo'); + sendMessage('yooooo'); + + port.addEventListener('message', function (e) { + // get the message sent to the worker + + processMessage(e.data); }); port.start(); // Required when using addEventListener. Otherwise called implicitly by onmessage setter. }; -self.onmessage = (message) => { +const processMessage = (message) => { + console.log(message); const { type, payload } = message; + switch (type) { case 'cpschange': { if (payload.cps !== cps) { diff --git a/packages/core/neocyclist.mjs b/packages/core/neocyclist.mjs index da2b7794..302616e7 100644 --- a/packages/core/neocyclist.mjs +++ b/packages/core/neocyclist.mjs @@ -1,7 +1,7 @@ import { logger } from './logger.mjs'; -const sharedworker = new SharedWorker(new URL('./cyclistworker.js', import.meta.url)); -sharedworker.port.start(); +// const sharedworker = new SharedWorker(new URL('./cyclistworker.js', import.meta.url)); +// sharedworker.port.start(); export class NeoCyclist { constructor({ onTrigger, onToggle, latency = 0.1, onError }) { @@ -10,7 +10,9 @@ export class NeoCyclist { this.onToggle = onToggle; this.latency = latency; this.worker = new SharedWorker(new URL('./cyclistworker.js', import.meta.url)); + this.worker.port.start(); this.worker.port.addEventListener('message', (message) => { + console.log(message); const { payload, type } = message; switch (type) { case 'tick': { @@ -42,7 +44,8 @@ export class NeoCyclist { } now() { - this.sendMessage('requestcycles', {}); + return performance.now(); + // this.sendMessage('requestcycles', {}); } setCps(cps = 1) { this.sendMessage('cpschange', { cps }); diff --git a/packages/core/repl.mjs b/packages/core/repl.mjs index b3b810c0..96b62e77 100644 --- a/packages/core/repl.mjs +++ b/packages/core/repl.mjs @@ -39,12 +39,12 @@ export function repl({ console.log(answer); }; - const sharedworker = new SharedWorker(new URL('./cyclistworker.js', import.meta.url)); + // const sharedworker = new SharedWorker(new URL('./cyclistworker.js', import.meta.url)); - sharedworker.port.start(); - sharedworker.port.addEventListener('message', (message) => { - console.log(message); - }); + // sharedworker.port.start(); + // sharedworker.port.addEventListener('message', (message) => { + // console.log(message); + // }); const updateState = (update) => { Object.assign(state, update);