trying stuff
This commit is contained in:
parent
d329ccc4e3
commit
f1eaa83af5
3 changed files with 20 additions and 11 deletions
|
|
@ -65,15 +65,21 @@ self.onconnect = function (e) {
|
||||||
var port = e.ports[0];
|
var port = e.ports[0];
|
||||||
allPorts.push(port);
|
allPorts.push(port);
|
||||||
|
|
||||||
allPorts.forEach((port) => {
|
sendMessage('yooooo');
|
||||||
port.postMessage('yoooo');
|
|
||||||
|
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.
|
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;
|
const { type, payload } = message;
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case 'cpschange': {
|
case 'cpschange': {
|
||||||
if (payload.cps !== cps) {
|
if (payload.cps !== cps) {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import { logger } from './logger.mjs';
|
import { logger } from './logger.mjs';
|
||||||
|
|
||||||
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.start();
|
||||||
|
|
||||||
export class NeoCyclist {
|
export class NeoCyclist {
|
||||||
constructor({ onTrigger, onToggle, latency = 0.1, onError }) {
|
constructor({ onTrigger, onToggle, latency = 0.1, onError }) {
|
||||||
|
|
@ -10,7 +10,9 @@ export class NeoCyclist {
|
||||||
this.onToggle = onToggle;
|
this.onToggle = onToggle;
|
||||||
this.latency = latency;
|
this.latency = latency;
|
||||||
this.worker = new SharedWorker(new URL('./cyclistworker.js', import.meta.url));
|
this.worker = new SharedWorker(new URL('./cyclistworker.js', import.meta.url));
|
||||||
|
this.worker.port.start();
|
||||||
this.worker.port.addEventListener('message', (message) => {
|
this.worker.port.addEventListener('message', (message) => {
|
||||||
|
console.log(message);
|
||||||
const { payload, type } = message;
|
const { payload, type } = message;
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case 'tick': {
|
case 'tick': {
|
||||||
|
|
@ -42,7 +44,8 @@ export class NeoCyclist {
|
||||||
}
|
}
|
||||||
|
|
||||||
now() {
|
now() {
|
||||||
this.sendMessage('requestcycles', {});
|
return performance.now();
|
||||||
|
// this.sendMessage('requestcycles', {});
|
||||||
}
|
}
|
||||||
setCps(cps = 1) {
|
setCps(cps = 1) {
|
||||||
this.sendMessage('cpschange', { cps });
|
this.sendMessage('cpschange', { cps });
|
||||||
|
|
|
||||||
|
|
@ -39,12 +39,12 @@ export function repl({
|
||||||
console.log(answer);
|
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.start();
|
||||||
sharedworker.port.addEventListener('message', (message) => {
|
// sharedworker.port.addEventListener('message', (message) => {
|
||||||
console.log(message);
|
// console.log(message);
|
||||||
});
|
// });
|
||||||
|
|
||||||
const updateState = (update) => {
|
const updateState = (update) => {
|
||||||
Object.assign(state, update);
|
Object.assign(state, update);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue