diff options
author | Dennis Kobert <d-kobert@web.de> | 2019-06-21 23:52:07 +0200 |
---|---|---|
committer | Dennis Kobert <d-kobert@web.de> | 2019-06-21 23:52:07 +0200 |
commit | 4e0037169db5d0c7d824debedb5513b69676506a (patch) | |
tree | 82c56547fa70b499627236efa66c3bf7e5411ead /webhogg/wasm/pkg/main.js | |
parent | 36c89240a87ecb826cf09bc7b3069aa636c9f2f1 (diff) | |
parent | 031f63755aada2f1b51eb945fda2a18ad0d24aad (diff) |
Merge branch 'wasm' into game_server_refactor
Diffstat (limited to 'webhogg/wasm/pkg/main.js')
-rw-r--r-- | webhogg/wasm/pkg/main.js | 38 |
1 files changed, 34 insertions, 4 deletions
diff --git a/webhogg/wasm/pkg/main.js b/webhogg/wasm/pkg/main.js index eec740d..90b3956 100644 --- a/webhogg/wasm/pkg/main.js +++ b/webhogg/wasm/pkg/main.js @@ -1,9 +1,39 @@ +workers = []; + +function exit() { + for (var worker of workers) { + worker.terminate(); + } + console.clear(); +} + async function main() { let fetchingSource = fetch('bin/webhogg-wasm.wasm'); + + let canvasElement = document.getElementById('c'); + let offCanvas = canvasElement.transferControlToOffscreen(); + let fetchedSource = await fetchingSource; - let source = await fetchedSource.text(); - //alert(source) - let workerGraphics = new Worker('pkg/worker-graphics.js'); -} + source = await fetchedSource.arrayBuffer(); + const modules = [ + { type: 'graphics', + source: source, + canvas: offCanvas, + dt: 16 }, + { type: 'logic', + source: source, + canvas: [], + dt: 10000 }, + ]; + for (var module of modules) { + let worker = new Worker('pkg/worker.js'); + if (module.type === 'graphics') { + worker.postMessage(module, [module.canvas]); + } else { + worker.postMessage(module); + } + workers.push(worker); + } +} main(); |