diff options
author | TrueDoctor <dennis@kobert.dev> | 2019-06-22 00:03:37 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-22 00:03:37 +0200 |
commit | 8b2040eb93e8e4355c8f357b775dedcffafff3dc (patch) | |
tree | 0b2c4724f0c75d09ee8b86f397bf6602a899e825 /webhogg/wasm/pkg/main.js | |
parent | 9e9c1c822a64c0a65033b7eed07ea661a385cecc (diff) | |
parent | 5522731ec4de8741f923b339ca942f8aaff2a338 (diff) |
Merge pull request #39 from TrueDoctor/game_server_refactor
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(); |