diff --git a/examples/samples/animation/2d/basic.js b/examples/samples/animation/2d/basic.js index 56a4384f..efd43bfd 100644 --- a/examples/samples/animation/2d/basic.js +++ b/examples/samples/animation/2d/basic.js @@ -43,9 +43,9 @@ app .registerPlugin(new DOMWindowPlugin()) .registerPlugin(new AnimationPlugin()) .registerPlugin(new Canvas2DRendererPlugin()) - .registerSystem(AppSchedule.Startup, init) - .registerSystem(AppSchedule.Update, setupViewport) - .registerSystem(AppSchedule.Startup, addDefaultCamera2D) + .registerSystem({ schedule: AppSchedule.Startup, system: init }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewport }) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera2D }) .registerDebugger(new FPSDebugger()) .run() diff --git a/examples/samples/animation/3d/basic.js b/examples/samples/animation/3d/basic.js index 6b27e7f5..dd139105 100644 --- a/examples/samples/animation/3d/basic.js +++ b/examples/samples/animation/3d/basic.js @@ -41,9 +41,9 @@ app .registerPlugin(new AnimationPlugin()) .registerPlugin(new DOMWindowPlugin()) .registerDebugger(new FPSDebugger()) - .registerSystem(AppSchedule.Startup, init) - .registerSystem(AppSchedule.Startup, addDefaultCamera3D) - .registerSystem(AppSchedule.Update, setupViewportWebgl) + .registerSystem({ schedule: AppSchedule.Startup, system: init }) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera3D }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewportWebgl }) .run() /** diff --git a/examples/samples/audio/audioGraph.js b/examples/samples/audio/audioGraph.js index c9a0e246..266092d3 100644 --- a/examples/samples/audio/audioGraph.js +++ b/examples/samples/audio/audioGraph.js @@ -40,7 +40,7 @@ class MyPlugin extends Plugin { * @param {App} app */ register(app) { - app.registerSystem(AppSchedule.Startup, init) + app.registerSystem({ schedule: AppSchedule.Startup, system: init }) } } const app = new App() @@ -51,8 +51,8 @@ app .registerPlugin(new DOMWindowPlugin()) .registerPlugin(new Canvas2DRendererPlugin()) .registerPlugin(new MyPlugin()) - .registerSystem(AppSchedule.Update, setupViewport) - .registerSystem(AppSchedule.Update, playAudio) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewport }) + .registerSystem({ schedule: AppSchedule.Update, system: playAudio }) .registerDebugger(new FPSDebugger()) .run() diff --git a/examples/samples/audio/audioOscillator.js b/examples/samples/audio/audioOscillator.js index e6ef2353..d8eafd9a 100644 --- a/examples/samples/audio/audioOscillator.js +++ b/examples/samples/audio/audioOscillator.js @@ -20,8 +20,8 @@ app .registerPlugin(new DefaultPlugin()) .registerPlugin(new DOMWindowPlugin()) .registerPlugin(new Canvas2DRendererPlugin()) - .registerSystem(AppSchedule.Startup, init) - .registerSystem(AppSchedule.Update, setupViewport) + .registerSystem({ schedule: AppSchedule.Startup, system: init }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewport }) .registerDebugger(new FPSDebugger()) .run() diff --git a/examples/samples/audio/audioPlayback.js b/examples/samples/audio/audioPlayback.js index 24b3ee2f..263af805 100644 --- a/examples/samples/audio/audioPlayback.js +++ b/examples/samples/audio/audioPlayback.js @@ -29,7 +29,7 @@ class MyPlugin extends Plugin { * @param {App} app */ register(app) { - app.registerSystem(AppSchedule.Startup, init) + app.registerSystem({ schedule: AppSchedule.Startup, system: init }) } } @@ -41,8 +41,8 @@ app .registerPlugin(new DOMWindowPlugin()) .registerPlugin(new Canvas2DRendererPlugin()) .registerPlugin(new MyPlugin()) - .registerSystem(AppSchedule.Update, setupViewport) - .registerSystem(AppSchedule.Update, update) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewport }) + .registerSystem({ schedule: AppSchedule.Update, system: update }) .registerDebugger(new FPSDebugger()) .run() diff --git a/examples/samples/audio/audioPlayer.js b/examples/samples/audio/audioPlayer.js index e8c563e0..aa863588 100644 --- a/examples/samples/audio/audioPlayer.js +++ b/examples/samples/audio/audioPlayer.js @@ -25,7 +25,7 @@ class MyPlugin extends Plugin { * @param {App} app */ register(app) { - app.registerSystem(AppSchedule.Startup, init) + app.registerSystem({ schedule: AppSchedule.Startup, system: init }) } } @@ -37,7 +37,7 @@ app .registerPlugin(new DOMWindowPlugin()) .registerPlugin(new Canvas2DRendererPlugin()) .registerPlugin(new MyPlugin()) - .registerSystem(AppSchedule.Update, setupViewport) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewport }) .registerDebugger(new FPSDebugger()) .run() diff --git a/examples/samples/ecs/despawn.js b/examples/samples/ecs/despawn.js index 45d0d7e6..32045390 100644 --- a/examples/samples/ecs/despawn.js +++ b/examples/samples/ecs/despawn.js @@ -32,10 +32,10 @@ app .registerPlugin(new DefaultPlugin()) .registerPlugin(new DOMWindowPlugin()) .registerPlugin(new Canvas2DRendererPlugin()) - .registerSystem(AppSchedule.Startup, init) - .registerSystem(AppSchedule.Startup, addDefaultCamera2D) - .registerSystem(AppSchedule.Update, setupViewport) - .registerSystem(AppSchedule.Update, update) + .registerSystem({ schedule: AppSchedule.Startup, system: init }) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera2D }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewport }) + .registerSystem({ schedule: AppSchedule.Update, system: update }) .registerDebugger(new FPSDebugger()) .run() diff --git a/examples/samples/ecs/spawn.js b/examples/samples/ecs/spawn.js index e35708fe..c750be33 100644 --- a/examples/samples/ecs/spawn.js +++ b/examples/samples/ecs/spawn.js @@ -32,9 +32,9 @@ app .registerPlugin(new DefaultPlugin()) .registerPlugin(new DOMWindowPlugin()) .registerPlugin(new Canvas2DRendererPlugin()) - .registerSystem(AppSchedule.Startup, addDefaultCamera2D) - .registerSystem(AppSchedule.Update, setupViewport) - .registerSystem(AppSchedule.Update, update) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera2D }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewport }) + .registerSystem({ schedule: AppSchedule.Update, system: update }) .registerDebugger(new FPSDebugger()) .run() diff --git a/examples/samples/emitter/2d/basic.js b/examples/samples/emitter/2d/basic.js index 475ec318..3d22e1d9 100644 --- a/examples/samples/emitter/2d/basic.js +++ b/examples/samples/emitter/2d/basic.js @@ -47,10 +47,10 @@ app .registerPlugin(new DOMWindowPlugin()) .registerPlugin(new Canvas2DRendererPlugin()) .registerPlugin(new Emitter2DPlugin()) - .registerSystem(AppSchedule.Startup, init) - .registerSystem(AppSchedule.Startup, addDefaultCamera2D) - .registerSystem(AppSchedule.Update, update) - .registerSystem(AppSchedule.Update, setupViewport) + .registerSystem({ schedule: AppSchedule.Startup, system: init }) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera2D }) + .registerSystem({ schedule: AppSchedule.Update, system: update }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewport }) .registerDebugger(new FPSDebugger()) .run() diff --git a/examples/samples/emitter/2d/duration.js b/examples/samples/emitter/2d/duration.js index f6de28a8..955a4f1a 100644 --- a/examples/samples/emitter/2d/duration.js +++ b/examples/samples/emitter/2d/duration.js @@ -42,9 +42,9 @@ app .registerPlugin(new DOMWindowPlugin()) .registerPlugin(new Canvas2DRendererPlugin()) .registerPlugin(new Emitter2DPlugin()) - .registerSystem(AppSchedule.Startup, init) - .registerSystem(AppSchedule.Startup, addDefaultCamera2D) - .registerSystem(AppSchedule.Update, setupViewport) + .registerSystem({ schedule: AppSchedule.Startup, system: init }) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera2D }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewport }) .registerDebugger(new FPSDebugger()) .run() diff --git a/examples/samples/emitter/3d/basic.js b/examples/samples/emitter/3d/basic.js index 16259043..875b8f6f 100644 --- a/examples/samples/emitter/3d/basic.js +++ b/examples/samples/emitter/3d/basic.js @@ -46,10 +46,10 @@ app .registerPlugin(new DefaultPlugin()) .registerPlugin(new DOMWindowPlugin()) .registerPlugin(new Emitter3DPlugin()) - .registerSystem(AppSchedule.Startup, init) - .registerSystem(AppSchedule.Startup, addDefaultCamera3D) - .registerSystem(AppSchedule.Update, setupViewportWebgl) - .registerSystem(AppSchedule.Update, update) + .registerSystem({ schedule: AppSchedule.Startup, system: init }) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera3D }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewportWebgl }) + .registerSystem({ schedule: AppSchedule.Update, system: update }) .registerDebugger(new FPSDebugger()) .run() diff --git a/examples/samples/emitter/3d/duration.js b/examples/samples/emitter/3d/duration.js index f5bdadbe..d82dfaff 100644 --- a/examples/samples/emitter/3d/duration.js +++ b/examples/samples/emitter/3d/duration.js @@ -41,9 +41,9 @@ app .registerPlugin(new DefaultPlugin()) .registerPlugin(new DOMWindowPlugin()) .registerPlugin(new Emitter3DPlugin()) - .registerSystem(AppSchedule.Startup, init) - .registerSystem(AppSchedule.Startup, addDefaultCamera3D) - .registerSystem(AppSchedule.Update, setupViewportWebgl) + .registerSystem({ schedule: AppSchedule.Startup, system: init }) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera3D }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewportWebgl }) .registerDebugger(new FPSDebugger()) .run() diff --git a/examples/samples/gizmos/2d/arcs.js b/examples/samples/gizmos/2d/arcs.js index a2c2835a..2df9ba78 100644 --- a/examples/samples/gizmos/2d/arcs.js +++ b/examples/samples/gizmos/2d/arcs.js @@ -37,11 +37,11 @@ app .registerPlugin(new Gizmo2DPlugin({ label: Demo })) - .registerSystem(AppSchedule.Startup, init) - .registerSystem(AppSchedule.Startup, addDefaultCamera2D) - .registerSystem(AppSchedule.Update, setupViewport) - .registerSystem(AppSchedule.Update, drawCirclularArcs) - .registerSystem(AppSchedule.Update, drawEllipticalArcs) + .registerSystem({ schedule: AppSchedule.Startup, system: init }) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera2D }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewport }) + .registerSystem({ schedule: AppSchedule.Update, system: drawCirclularArcs }) + .registerSystem({ schedule: AppSchedule.Update, system: drawEllipticalArcs }) .registerDebugger(new FPSDebugger()) .run() diff --git a/examples/samples/gizmos/2d/grid.js b/examples/samples/gizmos/2d/grid.js index be256d4f..763f49fa 100644 --- a/examples/samples/gizmos/2d/grid.js +++ b/examples/samples/gizmos/2d/grid.js @@ -36,10 +36,10 @@ app .registerPlugin(new Gizmo2DPlugin({ label: Demo })) - .registerSystem(AppSchedule.Startup, init) - .registerSystem(AppSchedule.Startup, addDefaultCamera2D) - .registerSystem(AppSchedule.Update, setupViewport) - .registerSystem(AppSchedule.Update, drawGrid) + .registerSystem({ schedule: AppSchedule.Startup, system: init }) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera2D }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewport }) + .registerSystem({ schedule: AppSchedule.Update, system: drawGrid }) .registerDebugger(new FPSDebugger()) .run() diff --git a/examples/samples/gizmos/2d/linestyle.js b/examples/samples/gizmos/2d/linestyle.js index a456a053..c1557c9c 100644 --- a/examples/samples/gizmos/2d/linestyle.js +++ b/examples/samples/gizmos/2d/linestyle.js @@ -45,10 +45,10 @@ app .registerPlugin(new Gizmo2DPlugin({ label: Demo2 })) - .registerSystem(AppSchedule.Startup, init) - .registerSystem(AppSchedule.Startup, addDefaultCamera2D) - .registerSystem(AppSchedule.Update, setupViewport) - .registerSystem(AppSchedule.Update, update) + .registerSystem({ schedule: AppSchedule.Startup, system: init }) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera2D }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewport }) + .registerSystem({ schedule: AppSchedule.Update, system: update }) .registerDebugger(new FPSDebugger()) .run() diff --git a/examples/samples/gizmos/2d/shapes.js b/examples/samples/gizmos/2d/shapes.js index 85f9f948..71dd6f14 100644 --- a/examples/samples/gizmos/2d/shapes.js +++ b/examples/samples/gizmos/2d/shapes.js @@ -35,10 +35,10 @@ app .registerPlugin(new Gizmo2DPlugin({ label: Demo })) - .registerSystem(AppSchedule.Startup, init) - .registerSystem(AppSchedule.Startup, addDefaultCamera2D) - .registerSystem(AppSchedule.Update, setupViewport) - .registerSystem(AppSchedule.Update, update) + .registerSystem({ schedule: AppSchedule.Startup, system: init }) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera2D }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewport }) + .registerSystem({ schedule: AppSchedule.Update, system: update }) .registerDebugger(new FPSDebugger()) .run() diff --git a/examples/samples/input/keyboard.js b/examples/samples/input/keyboard.js index 8c88fc54..268cf547 100644 --- a/examples/samples/input/keyboard.js +++ b/examples/samples/input/keyboard.js @@ -38,12 +38,12 @@ app .registerPlugin(new DefaultPlugin()) .registerPlugin(new DOMWindowPlugin()) .registerPlugin(new Canvas2DRendererPlugin()) - .registerSystem(AppSchedule.Startup, addDefaultCamera2D) - .registerSystem(AppSchedule.Startup, init) - .registerSystem(AppSchedule.Startup, spawnAlphabet) - .registerSystem(AppSchedule.Startup, spawnDigits) - .registerSystem(AppSchedule.Update, setupViewport) - .registerSystem(AppSchedule.Update, update) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera2D }) + .registerSystem({ schedule: AppSchedule.Startup, system: init }) + .registerSystem({ schedule: AppSchedule.Startup, system: spawnAlphabet }) + .registerSystem({ schedule: AppSchedule.Startup, system: spawnDigits }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewport }) + .registerSystem({ schedule: AppSchedule.Update, system: update }) .registerDebugger(new FPSDebugger()) .run() diff --git a/examples/samples/input/mouse.js b/examples/samples/input/mouse.js index 2ede7341..fa837402 100644 --- a/examples/samples/input/mouse.js +++ b/examples/samples/input/mouse.js @@ -49,12 +49,12 @@ app .registerPlugin(new DefaultPlugin()) .registerPlugin(new DOMWindowPlugin()) .registerPlugin(new Canvas2DRendererPlugin()) - .registerSystem(AppSchedule.Startup, spawnButtons) - .registerSystem(AppSchedule.Startup, spawnMouseFollower) - .registerSystem(AppSchedule.Startup, addDefaultCamera2D) - .registerSystem(AppSchedule.Update, setupViewport) - .registerSystem(AppSchedule.Update, updateFollower) - .registerSystem(AppSchedule.Update, updateButtons) + .registerSystem({ schedule: AppSchedule.Startup, system: spawnButtons }) + .registerSystem({ schedule: AppSchedule.Startup, system: spawnMouseFollower }) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera2D }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewport }) + .registerSystem({ schedule: AppSchedule.Update, system: updateFollower }) + .registerSystem({ schedule: AppSchedule.Update, system: updateButtons }) .registerDebugger(new FPSDebugger()) .run() diff --git a/examples/samples/input/touch.js b/examples/samples/input/touch.js index 5408c738..84cfe070 100644 --- a/examples/samples/input/touch.js +++ b/examples/samples/input/touch.js @@ -33,10 +33,10 @@ app .registerPlugin(new DefaultPlugin()) .registerPlugin(new DOMWindowPlugin()) .registerPlugin(new Canvas2DRendererPlugin()) - .registerSystem(AppSchedule.Startup, init) - .registerSystem(AppSchedule.Startup, addDefaultCamera2D) - .registerSystem(AppSchedule.Update, setupViewport) - .registerSystem(AppSchedule.Update, update) + .registerSystem({ schedule: AppSchedule.Startup, system: init }) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera2D }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewport }) + .registerSystem({ schedule: AppSchedule.Update, system: update }) .registerDebugger(new FPSDebugger()) .run() diff --git a/examples/samples/render/canvas-2d/material.js b/examples/samples/render/canvas-2d/material.js index 4bd1493b..d1a5f191 100644 --- a/examples/samples/render/canvas-2d/material.js +++ b/examples/samples/render/canvas-2d/material.js @@ -24,9 +24,9 @@ app .registerPlugin(new DefaultPlugin()) .registerPlugin(new DOMWindowPlugin()) .registerPlugin(new Canvas2DRendererPlugin()) - .registerSystem(AppSchedule.Startup, init) - .registerSystem(AppSchedule.Startup, addDefaultCamera2D) - .registerSystem(AppSchedule.Update, setupViewport) + .registerSystem({ schedule: AppSchedule.Startup, system: init }) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera2D }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewport }) .registerDebugger(new FPSDebugger()) .run() diff --git a/examples/samples/render/webgl/basictriangle.js b/examples/samples/render/webgl/basictriangle.js index 98afffef..af4c52ba 100644 --- a/examples/samples/render/webgl/basictriangle.js +++ b/examples/samples/render/webgl/basictriangle.js @@ -25,9 +25,9 @@ app .registerPlugin(new DefaultPlugin()) .registerPlugin(new DOMWindowPlugin()) .registerDebugger(new FPSDebugger()) - .registerSystem(AppSchedule.Startup, spawnMesh) - .registerSystem(AppSchedule.Startup, addDefaultCamera3D) - .registerSystem(AppSchedule.Update, setupViewportWebgl) + .registerSystem({ schedule: AppSchedule.Startup, system: spawnMesh }) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera3D }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewportWebgl }) .run() /** diff --git a/examples/samples/render/webgl/cameraorthographic.js b/examples/samples/render/webgl/cameraorthographic.js index bd3669f4..e8552e62 100644 --- a/examples/samples/render/webgl/cameraorthographic.js +++ b/examples/samples/render/webgl/cameraorthographic.js @@ -30,10 +30,10 @@ app .registerPlugin(new DefaultPlugin()) .registerPlugin(new DOMWindowPlugin()) .registerDebugger(new FPSDebugger()) - .registerSystem(AppSchedule.Startup, spawnMesh) - .registerSystem(AppSchedule.Startup, addCamera3D) - .registerSystem(AppSchedule.Update, setupViewportWebgl) - .registerSystem(AppSchedule.Update, update) + .registerSystem({ schedule: AppSchedule.Startup, system: spawnMesh }) + .registerSystem({ schedule: AppSchedule.Startup, system: addCamera3D }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewportWebgl }) + .registerSystem({ schedule: AppSchedule.Update, system: update }) .run() /** diff --git a/examples/samples/render/webgl/cameraperspective.js b/examples/samples/render/webgl/cameraperspective.js index 45230531..9e77d364 100644 --- a/examples/samples/render/webgl/cameraperspective.js +++ b/examples/samples/render/webgl/cameraperspective.js @@ -30,10 +30,10 @@ app .registerPlugin(new DefaultPlugin()) .registerPlugin(new DOMWindowPlugin()) .registerDebugger(new FPSDebugger()) - .registerSystem(AppSchedule.Startup, spawnMesh) - .registerSystem(AppSchedule.Startup, addCamera3D) - .registerSystem(AppSchedule.Update, setupViewportWebgl) - .registerSystem(AppSchedule.Update, update) + .registerSystem({ schedule: AppSchedule.Startup, system: spawnMesh }) + .registerSystem({ schedule: AppSchedule.Startup, system: addCamera3D }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewportWebgl }) + .registerSystem({ schedule: AppSchedule.Update, system: update }) .run() /** diff --git a/examples/samples/render/webgl/camerarotate.js b/examples/samples/render/webgl/camerarotate.js index c2cc7402..8fde65b3 100644 --- a/examples/samples/render/webgl/camerarotate.js +++ b/examples/samples/render/webgl/camerarotate.js @@ -29,10 +29,10 @@ app .registerPlugin(new DefaultPlugin()) .registerPlugin(new DOMWindowPlugin()) .registerDebugger(new FPSDebugger()) - .registerSystem(AppSchedule.Startup, spawnMesh) - .registerSystem(AppSchedule.Startup, addCamera3D) - .registerSystem(AppSchedule.Update, setupViewportWebgl) - .registerSystem(AppSchedule.Update, update) + .registerSystem({ schedule: AppSchedule.Startup, system: spawnMesh }) + .registerSystem({ schedule: AppSchedule.Startup, system: addCamera3D }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewportWebgl }) + .registerSystem({ schedule: AppSchedule.Update, system: update }) .run() /** diff --git a/examples/samples/render/webgl/colorchangetriangle.js b/examples/samples/render/webgl/colorchangetriangle.js index 93ab14aa..be018553 100644 --- a/examples/samples/render/webgl/colorchangetriangle.js +++ b/examples/samples/render/webgl/colorchangetriangle.js @@ -31,10 +31,10 @@ app .registerPlugin(new DefaultPlugin()) .registerPlugin(new DOMWindowPlugin()) .registerDebugger(new FPSDebugger()) - .registerSystem(AppSchedule.Startup, spawnMesh) - .registerSystem(AppSchedule.Startup, addDefaultCamera3D) - .registerSystem(AppSchedule.Update, setupViewportWebgl) - .registerSystem(AppSchedule.Update, changeColor) + .registerSystem({ schedule: AppSchedule.Startup, system: spawnMesh }) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera3D }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewportWebgl }) + .registerSystem({ schedule: AppSchedule.Update, system: changeColor }) .run() /** diff --git a/examples/samples/render/webgl/geometries.js b/examples/samples/render/webgl/geometries.js index bc634b58..33f1ddb5 100644 --- a/examples/samples/render/webgl/geometries.js +++ b/examples/samples/render/webgl/geometries.js @@ -28,10 +28,10 @@ app .registerPlugin(new DefaultPlugin()) .registerPlugin(new DOMWindowPlugin()) .registerDebugger(new FPSDebugger()) - .registerSystem(AppSchedule.Startup, spawnMeshes) - .registerSystem(AppSchedule.Startup, addDefaultCamera3D) - .registerSystem(AppSchedule.Update, setupViewportWebgl) - .registerSystem(AppSchedule.Update, update) + .registerSystem({ schedule: AppSchedule.Startup, system: spawnMeshes }) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera3D }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewportWebgl }) + .registerSystem({ schedule: AppSchedule.Update, system: update }) .run() /** diff --git a/examples/samples/scene/2d/basic.js b/examples/samples/scene/2d/basic.js index f83098ed..6bf5d44a 100644 --- a/examples/samples/scene/2d/basic.js +++ b/examples/samples/scene/2d/basic.js @@ -36,8 +36,8 @@ app .registerPlugin(new DefaultPlugin()) .registerPlugin(new DOMWindowPlugin()) .registerPlugin(new Canvas2DRendererPlugin()) - .registerSystem(AppSchedule.Startup, init) - .registerSystem(AppSchedule.Update, setupViewport) + .registerSystem({ schedule: AppSchedule.Startup, system: init }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewport }) .registerDebugger(new FPSDebugger()) .run() diff --git a/examples/samples/scene/2d/multiple_instances.js b/examples/samples/scene/2d/multiple_instances.js index 5f89e7de..d5af7714 100644 --- a/examples/samples/scene/2d/multiple_instances.js +++ b/examples/samples/scene/2d/multiple_instances.js @@ -39,10 +39,10 @@ app .registerPlugin(new DefaultPlugin()) .registerPlugin(new DOMWindowPlugin()) .registerPlugin(new Canvas2DRendererPlugin()) - .registerSystem(AppSchedule.Update, applyRandomDescendantTorque) - .registerSystem(AppSchedule.Startup, init) - .registerSystem(AppSchedule.Startup, addDefaultCamera2D) - .registerSystem(AppSchedule.Update, setupViewport) + .registerSystem({ schedule: AppSchedule.Update, system: applyRandomDescendantTorque }) + .registerSystem({ schedule: AppSchedule.Startup, system: init }) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera2D }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewport }) .registerDebugger(new FPSDebugger()) .run() diff --git a/examples/samples/scene/3d/basic.js b/examples/samples/scene/3d/basic.js index fae2a06d..ead5e1fc 100644 --- a/examples/samples/scene/3d/basic.js +++ b/examples/samples/scene/3d/basic.js @@ -39,8 +39,8 @@ app .registerPlugin(new DefaultPlugin()) .registerPlugin(new DOMWindowPlugin()) .registerDebugger(new FPSDebugger()) - .registerSystem(AppSchedule.Startup, init) - .registerSystem(AppSchedule.Update, setupViewportWebgl) + .registerSystem({ schedule: AppSchedule.Startup, system: init }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewportWebgl }) .run() /** diff --git a/examples/samples/scene/3d/multiple_instances.js b/examples/samples/scene/3d/multiple_instances.js index 2ff2b507..3a164479 100644 --- a/examples/samples/scene/3d/multiple_instances.js +++ b/examples/samples/scene/3d/multiple_instances.js @@ -45,11 +45,11 @@ app .registerPlugin(new WebglRendererPlugin()) .registerPlugin(new DefaultPlugin()) .registerPlugin(new DOMWindowPlugin()) - .registerSystem(AppSchedule.Update, applyRandomDescendantTorque) + .registerSystem({ schedule: AppSchedule.Update, system: applyRandomDescendantTorque }) .registerDebugger(new FPSDebugger()) - .registerSystem(AppSchedule.Startup, init) - .registerSystem(AppSchedule.Startup, addDefaultCamera3D) - .registerSystem(AppSchedule.Update, setupViewportWebgl) + .registerSystem({ schedule: AppSchedule.Startup, system: init }) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera3D }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewportWebgl }) .run() /** diff --git a/examples/samples/transform/2d/lookat.js b/examples/samples/transform/2d/lookat.js index c02def0f..3bdbdb2c 100644 --- a/examples/samples/transform/2d/lookat.js +++ b/examples/samples/transform/2d/lookat.js @@ -37,12 +37,12 @@ app .registerPlugin(new DefaultPlugin()) .registerPlugin(new DOMWindowPlugin()) .registerPlugin(new Canvas2DRendererPlugin()) - .registerSystem(AppSchedule.Startup, spawnLookers) - .registerSystem(AppSchedule.Startup, spawnTarget) - .registerSystem(AppSchedule.Startup, addDefaultCamera2D) - .registerSystem(AppSchedule.Update, setupViewport) - .registerSystem(AppSchedule.Update, updateLookers) - .registerSystem(AppSchedule.Update, updateTarget) + .registerSystem({ schedule: AppSchedule.Startup, system: spawnLookers }) + .registerSystem({ schedule: AppSchedule.Startup, system: spawnTarget }) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera2D }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewport }) + .registerSystem({ schedule: AppSchedule.Update, system: updateLookers }) + .registerSystem({ schedule: AppSchedule.Update, system: updateTarget }) .registerDebugger(new FPSDebugger()) .run() diff --git a/examples/samples/transform/2d/propagate.js b/examples/samples/transform/2d/propagate.js index 829e9e3b..4b34f934 100644 --- a/examples/samples/transform/2d/propagate.js +++ b/examples/samples/transform/2d/propagate.js @@ -34,10 +34,10 @@ app .registerPlugin(new DefaultPlugin()) .registerPlugin(new DOMWindowPlugin()) .registerPlugin(new Canvas2DRendererPlugin()) - .registerSystem(AppSchedule.Startup, addMeshes) - .registerSystem(AppSchedule.Startup, addDefaultCamera2D) - .registerSystem(AppSchedule.Update, update) - .registerSystem(AppSchedule.Update, setupViewport) + .registerSystem({ schedule: AppSchedule.Startup, system: addMeshes }) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera2D }) + .registerSystem({ schedule: AppSchedule.Update, system: update }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewport }) .registerDebugger(new FPSDebugger()) .run() diff --git a/examples/samples/transform/2d/rotate.js b/examples/samples/transform/2d/rotate.js index 8df8bc5a..7a3b8397 100644 --- a/examples/samples/transform/2d/rotate.js +++ b/examples/samples/transform/2d/rotate.js @@ -27,10 +27,10 @@ app .registerPlugin(new DefaultPlugin()) .registerPlugin(new DOMWindowPlugin()) .registerPlugin(new Canvas2DRendererPlugin()) - .registerSystem(AppSchedule.Startup, addmesh) - .registerSystem(AppSchedule.Startup, addDefaultCamera2D) - .registerSystem(AppSchedule.Update, update) - .registerSystem(AppSchedule.Update, setupViewport) + .registerSystem({ schedule: AppSchedule.Startup, system: addmesh }) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera2D }) + .registerSystem({ schedule: AppSchedule.Update, system: update }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewport }) .registerDebugger(new FPSDebugger()) .run() diff --git a/examples/samples/transform/2d/scale.js b/examples/samples/transform/2d/scale.js index a5cd4e3a..5925e361 100644 --- a/examples/samples/transform/2d/scale.js +++ b/examples/samples/transform/2d/scale.js @@ -27,10 +27,10 @@ app .registerPlugin(new DefaultPlugin()) .registerPlugin(new DOMWindowPlugin()) .registerPlugin(new Canvas2DRendererPlugin()) - .registerSystem(AppSchedule.Startup, addmesh) - .registerSystem(AppSchedule.Startup, addDefaultCamera2D) - .registerSystem(AppSchedule.Update, updateMesh) - .registerSystem(AppSchedule.Update, setupViewport) + .registerSystem({ schedule: AppSchedule.Startup, system: addmesh }) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera2D }) + .registerSystem({ schedule: AppSchedule.Update, system: updateMesh }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewport }) .registerDebugger(new FPSDebugger()) .run() diff --git a/examples/samples/transform/2d/translate.js b/examples/samples/transform/2d/translate.js index f7f92ba3..05fb179e 100644 --- a/examples/samples/transform/2d/translate.js +++ b/examples/samples/transform/2d/translate.js @@ -27,10 +27,10 @@ app .registerPlugin(new DefaultPlugin()) .registerPlugin(new DOMWindowPlugin()) .registerPlugin(new Canvas2DRendererPlugin()) - .registerSystem(AppSchedule.Startup, addmesh) - .registerSystem(AppSchedule.Startup, addDefaultCamera2D) - .registerSystem(AppSchedule.Update, updateMesh) - .registerSystem(AppSchedule.Update, setupViewport) + .registerSystem({ schedule: AppSchedule.Startup, system: addmesh }) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera2D }) + .registerSystem({ schedule: AppSchedule.Update, system: updateMesh }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewport }) .registerDebugger(new FPSDebugger()) .run() diff --git a/examples/samples/transform/3d/lookat.js b/examples/samples/transform/3d/lookat.js index 12050d0f..af4af672 100644 --- a/examples/samples/transform/3d/lookat.js +++ b/examples/samples/transform/3d/lookat.js @@ -36,12 +36,12 @@ app .registerPlugin(new DefaultPlugin()) .registerPlugin(new DOMWindowPlugin()) .registerDebugger(new FPSDebugger()) - .registerSystem(AppSchedule.Startup, spawnLookers) - .registerSystem(AppSchedule.Startup, spawnTarget) - .registerSystem(AppSchedule.Startup, addDefaultCamera3D) - .registerSystem(AppSchedule.Update, setupViewportWebgl) - .registerSystem(AppSchedule.Update, updateLookers) - .registerSystem(AppSchedule.Update, updateTarget) + .registerSystem({ schedule: AppSchedule.Startup, system: spawnLookers }) + .registerSystem({ schedule: AppSchedule.Startup, system: spawnTarget }) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera3D }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewportWebgl }) + .registerSystem({ schedule: AppSchedule.Update, system: updateLookers }) + .registerSystem({ schedule: AppSchedule.Update, system: updateTarget }) .run() /** diff --git a/examples/samples/transform/3d/propagate.js b/examples/samples/transform/3d/propagate.js index cff05920..ed97a5af 100644 --- a/examples/samples/transform/3d/propagate.js +++ b/examples/samples/transform/3d/propagate.js @@ -34,10 +34,10 @@ app .registerPlugin(new DefaultPlugin()) .registerPlugin(new DOMWindowPlugin()) .registerDebugger(new FPSDebugger()) - .registerSystem(AppSchedule.Startup, spawnMeshes) - .registerSystem(AppSchedule.Startup, addDefaultCamera3D) - .registerSystem(AppSchedule.Update, setupViewportWebgl) - .registerSystem(AppSchedule.Update, update) + .registerSystem({ schedule: AppSchedule.Startup, system: spawnMeshes }) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera3D }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewportWebgl }) + .registerSystem({ schedule: AppSchedule.Update, system: update }) .run() /** diff --git a/examples/samples/transform/3d/rotate.js b/examples/samples/transform/3d/rotate.js index 222e03aa..ba94ef59 100644 --- a/examples/samples/transform/3d/rotate.js +++ b/examples/samples/transform/3d/rotate.js @@ -28,10 +28,10 @@ app .registerPlugin(new DefaultPlugin()) .registerPlugin(new DOMWindowPlugin()) .registerDebugger(new FPSDebugger()) - .registerSystem(AppSchedule.Startup, spawnMesh) - .registerSystem(AppSchedule.Startup, addDefaultCamera3D) - .registerSystem(AppSchedule.Update, setupViewportWebgl) - .registerSystem(AppSchedule.Update, update) + .registerSystem({ schedule: AppSchedule.Startup, system: spawnMesh }) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera3D }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewportWebgl }) + .registerSystem({ schedule: AppSchedule.Update, system: update }) .run() /** diff --git a/examples/samples/transform/3d/scale.js b/examples/samples/transform/3d/scale.js index 37fdb5c8..5df3dff4 100644 --- a/examples/samples/transform/3d/scale.js +++ b/examples/samples/transform/3d/scale.js @@ -28,10 +28,10 @@ app .registerPlugin(new DefaultPlugin()) .registerPlugin(new DOMWindowPlugin()) .registerDebugger(new FPSDebugger()) - .registerSystem(AppSchedule.Startup, spawnMesh) - .registerSystem(AppSchedule.Startup, addDefaultCamera3D) - .registerSystem(AppSchedule.Update, setupViewportWebgl) - .registerSystem(AppSchedule.Update, updateMesh) + .registerSystem({ schedule: AppSchedule.Startup, system: spawnMesh }) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera3D }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewportWebgl }) + .registerSystem({ schedule: AppSchedule.Update, system: updateMesh }) .run() /** diff --git a/examples/samples/transform/3d/translate.js b/examples/samples/transform/3d/translate.js index 43526dd5..41075cb0 100644 --- a/examples/samples/transform/3d/translate.js +++ b/examples/samples/transform/3d/translate.js @@ -28,10 +28,10 @@ app .registerPlugin(new DefaultPlugin()) .registerPlugin(new DOMWindowPlugin()) .registerDebugger(new FPSDebugger()) - .registerSystem(AppSchedule.Startup, spawnMesh) - .registerSystem(AppSchedule.Startup, addDefaultCamera3D) - .registerSystem(AppSchedule.Update, setupViewportWebgl) - .registerSystem(AppSchedule.Update, updateMesh) + .registerSystem({ schedule: AppSchedule.Startup, system: spawnMesh }) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera3D }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewportWebgl }) + .registerSystem({ schedule: AppSchedule.Update, system: updateMesh }) .run() /** diff --git a/examples/samples/tween/easing.js b/examples/samples/tween/easing.js index da17776b..8c46ef0a 100644 --- a/examples/samples/tween/easing.js +++ b/examples/samples/tween/easing.js @@ -29,9 +29,9 @@ app .registerPlugin(new DefaultPlugin()) .registerPlugin(new DOMWindowPlugin()) .registerPlugin(new Canvas2DRendererPlugin()) - .registerSystem(AppSchedule.Startup, init) - .registerSystem(AppSchedule.Startup, addDefaultCamera2D) - .registerSystem(AppSchedule.Update, setupViewport) + .registerSystem({ schedule: AppSchedule.Startup, system: init }) + .registerSystem({ schedule: AppSchedule.Startup, system: addDefaultCamera2D }) + .registerSystem({ schedule: AppSchedule.Update, system: setupViewport }) .registerDebugger(new FPSDebugger()) .run() diff --git a/examples/samples/utils.js b/examples/samples/utils.js index 1fee32aa..8f1e6c06 100644 --- a/examples/samples/utils.js +++ b/examples/samples/utils.js @@ -102,12 +102,12 @@ export class HackPlugin extends Plugin { // HACK: This is a hack until system sets and ordering is introduced. { app - .registerSystem(AppSchedule.Startup, registerAssetOnAssetServer(Audio)) - .registerSystem(AppSchedule.Startup, registerAssetOnAssetServer(Image)) - .registerSystem(AppSchedule.Startup, registerAssetOnAssetServer(Mesh)) - .registerSystem(AppSchedule.Startup, registerAssetOnAssetServer(BasicMaterial)) - .registerSystem(AppSchedule.Startup, registerAssetParserOnAssetServer(Audio, new AudioParser())) - .registerSystem(AppSchedule.Startup, registerAssetParserOnAssetServer(Image, new ImageParser())) + .registerSystem({ schedule: AppSchedule.Startup, system: registerAssetOnAssetServer(Audio) }) + .registerSystem({ schedule: AppSchedule.Startup, system: registerAssetOnAssetServer(Image) }) + .registerSystem({ schedule: AppSchedule.Startup, system: registerAssetOnAssetServer(Mesh) }) + .registerSystem({ schedule: AppSchedule.Startup, system: registerAssetOnAssetServer(BasicMaterial) }) + .registerSystem({ schedule: AppSchedule.Startup, system: registerAssetParserOnAssetServer(Audio, new AudioParser()) }) + .registerSystem({ schedule: AppSchedule.Startup, system: registerAssetParserOnAssetServer(Image, new ImageParser()) }) } } } diff --git a/src/animation/plugin.js b/src/animation/plugin.js index 2a3f6799..d6a0b2f9 100644 --- a/src/animation/plugin.js +++ b/src/animation/plugin.js @@ -18,12 +18,12 @@ export class AnimationPlugin extends Plugin { app .registerType(AnimationPlayer) .registerType(AnimationTarget) - .registerSystem(AppSchedule.Startup, registerAnimationTypes) + .registerSystem({ schedule: AppSchedule.Startup, system: registerAnimationTypes }) .registerPlugin(new AssetPlugin({ asset:AnimationClip })) - .registerSystem(AppSchedule.Update, advanceAnimationPlayers) - .registerSystem(AppSchedule.Update, applyAnimations) + .registerSystem({ schedule: AppSchedule.Update, system: advanceAnimationPlayers }) + .registerSystem({ schedule: AppSchedule.Update, system: applyAnimations }) world.setResourceAlias(typeidGeneric(Assets, [AnimationClip]), AnimationClipAssets) } } diff --git a/src/app/app.js b/src/app/app.js index 85185a9f..229a8bb3 100644 --- a/src/app/app.js +++ b/src/app/app.js @@ -1,8 +1,9 @@ /** @import { SystemFunc } from '../ecs/index.js' */ +/** @import { SystemConfig } from '../schedule/index.js' */ /** @import { Constructor,TypeId } from '../type/index.js'*/ import { World, ComponentHooks } from '../ecs/index.js' -import { SystemConfig, Scheduler, SchedulerBuilder, Executable } from '../schedule/index.js' +import { Scheduler, SchedulerBuilder, Executable } from '../schedule/index.js' import { assert } from '../logger/index.js' import { typeid } from '../type/index.js' @@ -166,11 +167,10 @@ export class App { } /** - * @param {string} label - * @param {SystemFunc} system + * @param {SystemConfig} config */ - registerSystem(label, system) { - this.systemBuilder.add(new SystemConfig(system, label)) + registerSystem(config) { + this.systemBuilder.add(config) return this } diff --git a/src/asset/plugins/asset.js b/src/asset/plugins/asset.js index 654d2234..7e38f1b9 100644 --- a/src/asset/plugins/asset.js +++ b/src/asset/plugins/asset.js @@ -55,12 +55,12 @@ export class AssetPlugin extends Plugin { .registerPlugin(new EventPlugin({ event: events.dropped })) - .registerSystem(AppSchedule.Update, updateAssetEvents(asset, events)) - .registerSystem(AppSchedule.Update, unloadDroppedAssets(events.dropped)) + .registerSystem({ schedule: AppSchedule.Update, system: updateAssetEvents(asset, events) }) + .registerSystem({ schedule: AppSchedule.Update, system: unloadDroppedAssets(events.dropped) }) } - app.registerSystem(AppSchedule.Startup, registerAssetOnAssetServer(asset)) - app.registerSystem(AppSchedule.Startup, registerAssetTypes(asset)) + app.registerSystem({ schedule: AppSchedule.Startup, system: registerAssetOnAssetServer(asset) }) + app.registerSystem({ schedule: AppSchedule.Startup, system: registerAssetTypes(asset) }) world.setResourceByTypeId( typeidGeneric(Assets, [asset]), new Assets(asset) diff --git a/src/asset/plugins/assetServer.js b/src/asset/plugins/assetServer.js index 68dfcc4e..618f7c22 100644 --- a/src/asset/plugins/assetServer.js +++ b/src/asset/plugins/assetServer.js @@ -19,9 +19,9 @@ export class AssetServerPlugin extends Plugin { .registerPlugin(new EventPlugin({ event: AssetLoadFail })) - .registerSystem(AppSchedule.Startup, registerAssetServerTypes) - .registerSystem(AppSchedule.Update, updateAssets) - .registerSystem(AppSchedule.Update, updateAssetLoadEvents) - .registerSystem(AppSchedule.Update, logFailedLoads) + .registerSystem({ schedule: AppSchedule.Startup, system: registerAssetServerTypes }) + .registerSystem({ schedule: AppSchedule.Update, system: updateAssets }) + .registerSystem({ schedule: AppSchedule.Update, system: updateAssetLoadEvents }) + .registerSystem({ schedule: AppSchedule.Update, system: logFailedLoads }) } } diff --git a/src/asset/plugins/parser.js b/src/asset/plugins/parser.js index b2670659..46cf3d60 100644 --- a/src/asset/plugins/parser.js +++ b/src/asset/plugins/parser.js @@ -41,7 +41,7 @@ export class AssetParserPlugin extends Plugin { const { asset, parser } = this app - .registerSystem(AppSchedule.Startup, registerAssetParserOnAssetServer(asset, parser)) + .registerSystem({ schedule: AppSchedule.Startup, system: registerAssetParserOnAssetServer(asset, parser) }) } name() { diff --git a/src/audio/plugin.js b/src/audio/plugin.js index c61079c6..222c4cfb 100644 --- a/src/audio/plugin.js +++ b/src/audio/plugin.js @@ -29,7 +29,7 @@ export class AudioPlugin extends Plugin { null, removeOscillatorSink )) - .registerSystem(AppSchedule.Startup, registerAudioTypes) + .registerSystem({ schedule: AppSchedule.Startup, system: registerAudioTypes }) .setResource(new AudioGraph()) .setResource(handler) .registerPlugin(new AssetPlugin({ @@ -44,8 +44,8 @@ export class AudioPlugin extends Plugin { asset: Audio, parser: new AudioParser() })) - .registerSystem(AppSchedule.Update, playAudio) - .registerSystem(AppSchedule.Update, playOscillators) + .registerSystem({ schedule: AppSchedule.Update, system: playAudio }) + .registerSystem({ schedule: AppSchedule.Update, system: playOscillators }) window.addEventListener('pointerdown', resumeAudio) diff --git a/src/broadphase/plugin.js b/src/broadphase/plugin.js index d540a81c..de7d1dab 100644 --- a/src/broadphase/plugin.js +++ b/src/broadphase/plugin.js @@ -27,11 +27,11 @@ export class Broadphase2DPlugin extends Plugin { register(app) { app .registerType(PhysicsHitbox) - .registerSystem(AppSchedule.Startup, registerBroadphaseTypes2D) + .registerSystem({ schedule: AppSchedule.Startup, system: registerBroadphaseTypes2D }) .setResource(new Broadphase2D(this.innerBroadphase)) .setResource(new CollisionPairs()) - .registerSystem(AppSchedule.Update, getCollisionPairs) - .registerSystem(AppSchedule.Update, updateBroadphase2D) + .registerSystem({ schedule: AppSchedule.Update, system: getCollisionPairs }) + .registerSystem({ schedule: AppSchedule.Update, system: updateBroadphase2D }) } } diff --git a/src/color/plugin.js b/src/color/plugin.js index f6c0c3f7..39bce35e 100644 --- a/src/color/plugin.js +++ b/src/color/plugin.js @@ -8,6 +8,6 @@ export class ColorPlugin extends Plugin { * @param {App} app */ register(app) { - app.registerSystem(AppSchedule.Startup, registerColorTypes) + app.registerSystem({ schedule: AppSchedule.Startup, system: registerColorTypes }) } } diff --git a/src/command/plugin.js b/src/command/plugin.js index 50664352..a162b869 100644 --- a/src/command/plugin.js +++ b/src/command/plugin.js @@ -11,7 +11,7 @@ export class CommandsPlugin extends Plugin { register(app) { app .setResource(new CommandQueue()) - .registerSystem(AppSchedule.Update, executeCommands) + .registerSystem({ schedule: AppSchedule.Update, system: executeCommands }) } } diff --git a/src/core/plugin.js b/src/core/plugin.js index 0f517c58..a3c5c02c 100644 --- a/src/core/plugin.js +++ b/src/core/plugin.js @@ -15,6 +15,6 @@ export class CorePlugin extends Plugin { app.createSchedule( { label: AppSchedule.Update, repeat: true } ) - app.registerSystem(AppSchedule.Startup, registerCoreTypes) + app.registerSystem({ schedule: AppSchedule.Startup, system: registerCoreTypes }) } } diff --git a/src/damping/plugin.js b/src/damping/plugin.js index dc2c222e..7fbceb9c 100644 --- a/src/damping/plugin.js +++ b/src/damping/plugin.js @@ -12,9 +12,9 @@ export class Damping2DPlugin extends Plugin { app .setResource(new Linear2DDamping(0.01)) .setResource(new Angular2DDamping(0.01)) - .registerSystem(AppSchedule.Startup, registerDamping2DTypes) - .registerSystem(AppSchedule.Update, dampenVelocity2D) - .registerSystem(AppSchedule.Update, dampenRotation2D) + .registerSystem({ schedule: AppSchedule.Startup, system: registerDamping2DTypes }) + .registerSystem({ schedule: AppSchedule.Update, system: dampenVelocity2D }) + .registerSystem({ schedule: AppSchedule.Update, system: dampenRotation2D }) } } @@ -27,8 +27,8 @@ export class Damping3DPlugin extends Plugin { app .setResource(new Linear3DDamping(0.01)) .setResource(new Angular3DDamping(0.01)) - .registerSystem(AppSchedule.Startup, registerDamping3DTypes) - .registerSystem(AppSchedule.Update, dampenVelocity3D) - .registerSystem(AppSchedule.Update, dampenRotation3D) + .registerSystem({ schedule: AppSchedule.Startup, system: registerDamping3DTypes }) + .registerSystem({ schedule: AppSchedule.Update, system: dampenVelocity3D }) + .registerSystem({ schedule: AppSchedule.Update, system: dampenRotation3D }) } } diff --git a/src/device/plugin.js b/src/device/plugin.js index 653f29b8..2f3bf3de 100644 --- a/src/device/plugin.js +++ b/src/device/plugin.js @@ -15,7 +15,7 @@ export class DevicePlugin extends Plugin { app .setResource(device) - .registerSystem(AppSchedule.Startup, registerDeviceTypes) + .registerSystem({ schedule: AppSchedule.Startup, system: registerDeviceTypes }) // rendering capabilities device.capabilities.canvas = !!window.CanvasRenderingContext2D diff --git a/src/diagnostic/entitycount.js b/src/diagnostic/entitycount.js index c45f3621..daa6bf39 100644 --- a/src/diagnostic/entitycount.js +++ b/src/diagnostic/entitycount.js @@ -9,8 +9,8 @@ export class EntityCountDiagnosticPlugin { */ register(app) { app - .registerSystem(AppSchedule.Startup, setUpUI) - .registerSystem(AppSchedule.Update, updateEntityCount) + .registerSystem({ schedule: AppSchedule.Startup, system: setUpUI }) + .registerSystem({ schedule: AppSchedule.Update, system: updateEntityCount }) } } diff --git a/src/diagnostic/fpsdebugger.js b/src/diagnostic/fpsdebugger.js index b3a876ac..60cd43b5 100644 --- a/src/diagnostic/fpsdebugger.js +++ b/src/diagnostic/fpsdebugger.js @@ -13,10 +13,10 @@ export class FPSDebugger extends Plugin { register(app) { app .setResource(new RAFTimer({ duration: 1, mode: TimerMode.Repeat })) - .registerSystem(AppSchedule.Startup, registerFpsDebuggerTypes) - .registerSystem(AppSchedule.Startup, setUpUI) - .registerSystem(AppSchedule.Update, updateFPSCounter) - .registerSystem(AppSchedule.Update, updateRAFTimer) + .registerSystem({ schedule: AppSchedule.Startup, system: registerFpsDebuggerTypes }) + .registerSystem({ schedule: AppSchedule.Startup, system: setUpUI }) + .registerSystem({ schedule: AppSchedule.Update, system: updateFPSCounter }) + .registerSystem({ schedule: AppSchedule.Update, system: updateRAFTimer }) } } diff --git a/src/emitter/plugin.js b/src/emitter/plugin.js index a5d25f58..d63cb456 100644 --- a/src/emitter/plugin.js +++ b/src/emitter/plugin.js @@ -12,8 +12,8 @@ export class Emitter2DPlugin extends Plugin { app .registerType(Particle) .registerType(Emitter) - .registerSystem(AppSchedule.Update, despawnParticles) - .registerSystem(AppSchedule.Update, emitParticles2D) + .registerSystem({ schedule: AppSchedule.Update, system: despawnParticles }) + .registerSystem({ schedule: AppSchedule.Update, system: emitParticles2D }) } } @@ -27,8 +27,8 @@ export class Emitter3DPlugin extends Plugin { app .registerType(Particle) .registerType(Emitter) - .registerSystem(AppSchedule.Update, despawnParticles) - .registerSystem(AppSchedule.Update, emitParticles3D) + .registerSystem({ schedule: AppSchedule.Update, system: despawnParticles }) + .registerSystem({ schedule: AppSchedule.Update, system: emitParticles3D }) } } diff --git a/src/event/plugin.js b/src/event/plugin.js index 75657547..70e5567c 100644 --- a/src/event/plugin.js +++ b/src/event/plugin.js @@ -1,7 +1,6 @@ /** @import { Constructor } from '../type/index.js'*/ import { App, Plugin } from '../app/index.js' -import { SystemConfig } from '../schedule/index.js' import { makeEventClear, registerEventTypes } from './systems/index.js' import { Events } from './core/index.js' import { typeidGeneric } from '../type/index.js' @@ -44,14 +43,14 @@ export class EventPlugin extends Plugin { app .registerType(event) - .registerSystem(AppSchedule.Startup, registerEventTypes(event)) + .registerSystem({ schedule: AppSchedule.Startup, system: registerEventTypes(event) }) .getWorld() .setResourceByTypeId(name, new Events()) // TODO - Once system ordering is implemented,remove this // and `App.systemsevents`. if (this.autoClearEvent) { - app.systemsevents.push(new SystemConfig(makeEventClear(name), AppSchedule.Update)) + app.systemsevents.push({ schedule: AppSchedule.Update, system: makeEventClear(name) }) } } diff --git a/src/geometry/plugin.js b/src/geometry/plugin.js index 8ab7c0a2..5c577b12 100644 --- a/src/geometry/plugin.js +++ b/src/geometry/plugin.js @@ -8,6 +8,6 @@ export class GeometryPlugin extends Plugin { * @param {App} app */ register(app) { - app.registerSystem(AppSchedule.Startup, registerGeometryTypes) + app.registerSystem({ schedule: AppSchedule.Startup, system: registerGeometryTypes }) } } diff --git a/src/gizmo/plugins/2d.js b/src/gizmo/plugins/2d.js index e6ebd3b8..cb776650 100644 --- a/src/gizmo/plugins/2d.js +++ b/src/gizmo/plugins/2d.js @@ -44,8 +44,8 @@ export class Gizmo2DPlugin extends Plugin { .getWorld() .setResourceByTypeId(typeidGeneric(Gizmo2D, [label]), new Gizmo2D(label, settings)) app - .registerSystem(AppSchedule.Startup, registerGizmo2DTypes(label)) - .registerSystem(AppSchedule.Update, genenerateDrawGizmo2Dsystem(label)) + .registerSystem({ schedule: AppSchedule.Startup, system: registerGizmo2DTypes(label) }) + .registerSystem({ schedule: AppSchedule.Update, system: genenerateDrawGizmo2Dsystem(label) }) } name() { diff --git a/src/gizmo/plugins/3d.js b/src/gizmo/plugins/3d.js index 6de7df49..2e957b33 100644 --- a/src/gizmo/plugins/3d.js +++ b/src/gizmo/plugins/3d.js @@ -44,8 +44,8 @@ export class Gizmo3DPlugin extends Plugin { .getWorld() .setResourceByTypeId(typeidGeneric(Gizmo3D, [label]), new Gizmo3D(label, settings)) app - .registerSystem(AppSchedule.Startup, registerGizmo3DTypes(label)) - .registerSystem(AppSchedule.Update, genenerateDrawGizmo3Dsystem(label)) + .registerSystem({ schedule: AppSchedule.Startup, system: registerGizmo3DTypes(label) }) + .registerSystem({ schedule: AppSchedule.Update, system: genenerateDrawGizmo3Dsystem(label) }) } name() { diff --git a/src/gravity/plugin.js b/src/gravity/plugin.js index 9b514574..d8d70344 100644 --- a/src/gravity/plugin.js +++ b/src/gravity/plugin.js @@ -26,8 +26,8 @@ export class Gravity2DPlugin extends Plugin { register(app) { app .setResource(new Gravity2D().copy(this.gravity)) - .registerSystem(AppSchedule.Startup, registerGravity2DTypes) - .registerSystem(AppSchedule.Update, applyGravity2D) + .registerSystem({ schedule: AppSchedule.Startup, system: registerGravity2DTypes }) + .registerSystem({ schedule: AppSchedule.Update, system: applyGravity2D }) } } @@ -53,8 +53,8 @@ export class Gravity3DPlugin extends Plugin { register(app) { app .setResource(new Gravity3D().copy(this.gravity)) - .registerSystem(AppSchedule.Startup, registerGravity3DTypes) - .registerSystem(AppSchedule.Update, applyGravity3D) + .registerSystem({ schedule: AppSchedule.Startup, system: registerGravity3DTypes }) + .registerSystem({ schedule: AppSchedule.Update, system: applyGravity3D }) } } diff --git a/src/hierarchy/plugin.js b/src/hierarchy/plugin.js index 5760718f..1962884d 100644 --- a/src/hierarchy/plugin.js +++ b/src/hierarchy/plugin.js @@ -24,6 +24,6 @@ export class HierarchyPlugin extends Plugin { removeSelfFromParent, null )) - .registerSystem(AppSchedule.Startup, registerHierarchyTypes) + .registerSystem({ schedule: AppSchedule.Startup, system: registerHierarchyTypes }) } } diff --git a/src/integrator/plugins/euler.js b/src/integrator/plugins/euler.js index 0f9ba685..422b2fad 100644 --- a/src/integrator/plugins/euler.js +++ b/src/integrator/plugins/euler.js @@ -18,10 +18,10 @@ export class EulerIntegrator2DPlugin extends Plugin { */ register(app) { app - .registerSystem(AppSchedule.Update, updatePositionEuler2D) - .registerSystem(AppSchedule.Update, updateVelocityEuler2D) - .registerSystem(AppSchedule.Update, updateOrientationEuler2D) - .registerSystem(AppSchedule.Update, updateAngularEuler2D) + .registerSystem({ schedule: AppSchedule.Update, system: updatePositionEuler2D }) + .registerSystem({ schedule: AppSchedule.Update, system: updateVelocityEuler2D }) + .registerSystem({ schedule: AppSchedule.Update, system: updateOrientationEuler2D }) + .registerSystem({ schedule: AppSchedule.Update, system: updateAngularEuler2D }) } } @@ -32,9 +32,9 @@ export class EulerIntegrator3DPlugin extends Plugin { */ register(app) { app - .registerSystem(AppSchedule.Update, updatePositionEuler3D) - .registerSystem(AppSchedule.Update, updateVelocityEuler3D) - .registerSystem(AppSchedule.Update, updateOrientationEuler3D) - .registerSystem(AppSchedule.Update, updateAngularEuler3D) + .registerSystem({ schedule: AppSchedule.Update, system: updatePositionEuler3D }) + .registerSystem({ schedule: AppSchedule.Update, system: updateVelocityEuler3D }) + .registerSystem({ schedule: AppSchedule.Update, system: updateOrientationEuler3D }) + .registerSystem({ schedule: AppSchedule.Update, system: updateAngularEuler3D }) } } diff --git a/src/integrator/plugins/verlet.js b/src/integrator/plugins/verlet.js index b803885e..e7b8bdfa 100644 --- a/src/integrator/plugins/verlet.js +++ b/src/integrator/plugins/verlet.js @@ -9,7 +9,7 @@ export class VerletIntegrator2DPlugin extends Plugin { */ register(app) { app - .registerSystem(AppSchedule.Update, updatePositionVerlet2D) - .registerSystem(AppSchedule.Update, updateOrientationVerlet2D) + .registerSystem({ schedule: AppSchedule.Update, system: updatePositionVerlet2D }) + .registerSystem({ schedule: AppSchedule.Update, system: updateOrientationVerlet2D }) } } diff --git a/src/keyboard/plugin.js b/src/keyboard/plugin.js index e7987cf0..4fcf0a89 100644 --- a/src/keyboard/plugin.js +++ b/src/keyboard/plugin.js @@ -16,8 +16,8 @@ export class KeyboardPlugin extends Plugin { register(app) { app .setResource(new Keyboard()) - .registerSystem(AppSchedule.Startup, registerKeyboardTypes) - .registerSystem(AppSchedule.Update, updateKeyBoard) + .registerSystem({ schedule: AppSchedule.Startup, system: registerKeyboardTypes }) + .registerSystem({ schedule: AppSchedule.Update, system: updateKeyBoard }) } } diff --git a/src/math/plugin.js b/src/math/plugin.js index ba450734..ee7ea61b 100644 --- a/src/math/plugin.js +++ b/src/math/plugin.js @@ -8,6 +8,6 @@ export class MathPlugin extends Plugin { * @param {App} app */ register(app) { - app.registerSystem(AppSchedule.Startup, registerMathTypes) + app.registerSystem({ schedule: AppSchedule.Startup, system: registerMathTypes }) } } diff --git a/src/mouse/plugin.js b/src/mouse/plugin.js index bf7af561..11a12e30 100644 --- a/src/mouse/plugin.js +++ b/src/mouse/plugin.js @@ -19,9 +19,9 @@ export class MousePlugin extends Plugin { app .setResource(new Mouse()) .setResource(new MouseButtons()) - .registerSystem(AppSchedule.Startup, registerMouseTypes) - .registerSystem(AppSchedule.Update, updateMouse) - .registerSystem(AppSchedule.Update, updateMouseButtons) + .registerSystem({ schedule: AppSchedule.Startup, system: registerMouseTypes }) + .registerSystem({ schedule: AppSchedule.Update, system: updateMouse }) + .registerSystem({ schedule: AppSchedule.Update, system: updateMouseButtons }) } } diff --git a/src/movable/plugins/three.js b/src/movable/plugins/three.js index 38d79d73..cc107134 100644 --- a/src/movable/plugins/three.js +++ b/src/movable/plugins/three.js @@ -19,6 +19,6 @@ export class Movable3DPlugin extends Plugin { .registerType(Rotation3D) .registerType(Acceleration3D) .registerType(Torque3D) - .registerSystem(AppSchedule.Startup, registerMovable3DTypes) + .registerSystem({ schedule: AppSchedule.Startup, system: registerMovable3DTypes }) } } diff --git a/src/movable/plugins/two.js b/src/movable/plugins/two.js index acbd0c94..36406084 100644 --- a/src/movable/plugins/two.js +++ b/src/movable/plugins/two.js @@ -19,6 +19,6 @@ export class Movable2DPlugin extends Plugin { .registerType(Rotation2D) .registerType(Acceleration2D) .registerType(Torque2D) - .registerSystem(AppSchedule.Startup, registerMovable2DTypes) + .registerSystem({ schedule: AppSchedule.Startup, system: registerMovable2DTypes }) } } diff --git a/src/name/plugin.js b/src/name/plugin.js index bd898935..53a805e2 100644 --- a/src/name/plugin.js +++ b/src/name/plugin.js @@ -11,6 +11,6 @@ export class NamePlugin extends Plugin { register(app) { app .registerType(Name) - .registerSystem(AppSchedule.Startup, registerNameTypes) + .registerSystem({ schedule: AppSchedule.Startup, system: registerNameTypes }) } } diff --git a/src/narrowphase/plugin.js b/src/narrowphase/plugin.js index 1641c298..3dad4f50 100644 --- a/src/narrowphase/plugin.js +++ b/src/narrowphase/plugin.js @@ -16,7 +16,7 @@ export class NarrowPhase2DPlugin extends Plugin { app .setResource(new Contacts()) .setResource(new SATNarrowphase2D()) - .registerSystem(AppSchedule.Startup, registerNarrowphase2DTypes) - .registerSystem(AppSchedule.Update, getSATContacts) + .registerSystem({ schedule: AppSchedule.Startup, system: registerNarrowphase2DTypes }) + .registerSystem({ schedule: AppSchedule.Update, system: getSATContacts }) } } diff --git a/src/physics/plugins/debugger.js b/src/physics/plugins/debugger.js index bda94ad6..72f5ac9e 100644 --- a/src/physics/plugins/debugger.js +++ b/src/physics/plugins/debugger.js @@ -32,13 +32,13 @@ export class Physics2DDebuggerPlugin extends Plugin { register(app) { const { options } = this - if (options.drawPosition) app.registerSystem(AppSchedule.Update, drawPosition) - if (options.drawBounds) app.registerSystem(AppSchedule.Update, drawBounds) - if (options.drawShapes) app.registerSystem(AppSchedule.Update, drawShapes) - if (options.drawCollisionArm) app.registerSystem(AppSchedule.Update, drawArms) - if (options.drawContacts) app.registerSystem(AppSchedule.Update, drawContacts) - if (options.drawPosition) app.registerSystem(AppSchedule.Update, drawPosition) - if (options.drawVelocity) app.registerSystem(AppSchedule.Update, drawVelocity) + if (options.drawPosition) app.registerSystem({ schedule: AppSchedule.Update, system: drawPosition }) + if (options.drawBounds) app.registerSystem({ schedule: AppSchedule.Update, system: drawBounds }) + if (options.drawShapes) app.registerSystem({ schedule: AppSchedule.Update, system: drawShapes }) + if (options.drawCollisionArm) app.registerSystem({ schedule: AppSchedule.Update, system: drawArms }) + if (options.drawContacts) app.registerSystem({ schedule: AppSchedule.Update, system: drawContacts }) + if (options.drawPosition) app.registerSystem({ schedule: AppSchedule.Update, system: drawPosition }) + if (options.drawVelocity) app.registerSystem({ schedule: AppSchedule.Update, system: drawVelocity }) } } diff --git a/src/physics/plugins/plugin.js b/src/physics/plugins/plugin.js index 43e88b30..0c4ec89a 100644 --- a/src/physics/plugins/plugin.js +++ b/src/physics/plugins/plugin.js @@ -38,7 +38,7 @@ export class Physics2DPlugin extends Plugin { .registerType(PhysicsProperties) .registerType(SoftBody2D) .registerType(SoftBody3D) - .registerSystem(AppSchedule.Startup, registerPhysicsTypes) + .registerSystem({ schedule: AppSchedule.Startup, system: registerPhysicsTypes }) .setComponentHooks( PhysicsProperties, new ComponentHooks( @@ -47,15 +47,15 @@ export class Physics2DPlugin extends Plugin { physicspropertiesAddHook ) ) - app.registerSystem(AppSchedule.Update, updateBodies) + app.registerSystem({ schedule: AppSchedule.Update, system: updateBodies }) - if (this.autoUpdateBounds) app.registerSystem(AppSchedule.Update, updateBounds) + if (this.autoUpdateBounds) app.registerSystem({ schedule: AppSchedule.Update, system: updateBounds }) app .registerPlugin(new Gravity2DPlugin()) .registerPlugin(this.broadphase) .registerPlugin(this.narrowphase) - .registerSystem(AppSchedule.Update, collisionResponse) + .registerSystem({ schedule: AppSchedule.Update, system: collisionResponse }) .registerPlugin(this.integrator) } } diff --git a/src/profiler/plugin.js b/src/profiler/plugin.js index 48499386..6277fbea 100644 --- a/src/profiler/plugin.js +++ b/src/profiler/plugin.js @@ -14,10 +14,10 @@ export class ProfilerPlugin extends Plugin { register(app) { app.setResource(new Profiler()) app.setResource(new ProfilerTimer({ duration: 1, mode: TimerMode.Repeat })) - app.registerSystem(AppSchedule.Startup, registerProfilerTypes) + app.registerSystem({ schedule: AppSchedule.Startup, system: registerProfilerTypes }) setupProfileViewer(document.body) - app.registerSystem(AppSchedule.Update, updateProfileViewer) - app.registerSystem(AppSchedule.Update, updateProfileTimer) + app.registerSystem({ schedule: AppSchedule.Update, system: updateProfileViewer }) + app.registerSystem({ schedule: AppSchedule.Update, system: updateProfileTimer }) } } diff --git a/src/reflect/plugin.js b/src/reflect/plugin.js index 0214eab0..9e33859b 100644 --- a/src/reflect/plugin.js +++ b/src/reflect/plugin.js @@ -13,6 +13,6 @@ export class ReflectPlugin extends Plugin { app .setResource(typeregistry) - .registerSystem(AppSchedule.Startup, registerReflectTypes) + .registerSystem({ schedule: AppSchedule.Startup, system: registerReflectTypes }) } } diff --git a/src/render-canvas2d/plugin.js b/src/render-canvas2d/plugin.js index aa212886..f0be06cf 100644 --- a/src/render-canvas2d/plugin.js +++ b/src/render-canvas2d/plugin.js @@ -13,7 +13,7 @@ export class Canvas2DRendererPlugin extends Plugin { register(app) { app .setResource(new TextureCache()) - .registerSystem(AppSchedule.Startup, registerCanvas2DTypes) + .registerSystem({ schedule: AppSchedule.Startup, system: registerCanvas2DTypes }) .registerPlugin(new Canvas2DMaterialPlugin({ material:BasicMaterial, update:renderBasicMaterial diff --git a/src/render-canvas2d/plugins/index.js b/src/render-canvas2d/plugins/index.js index 108ac1d6..a1b6ed1d 100644 --- a/src/render-canvas2d/plugins/index.js +++ b/src/render-canvas2d/plugins/index.js @@ -39,7 +39,7 @@ export class Canvas2DMaterialPlugin extends Plugin { register(app) { const { material, update } = this - app.registerSystem(AppSchedule.Update, genrender(material, update)) + app.registerSystem({ schedule: AppSchedule.Update, system: genrender(material, update) }) } name() { diff --git a/src/render-core/plugin.js b/src/render-core/plugin.js index 35de01c8..e4a83e3b 100644 --- a/src/render-core/plugin.js +++ b/src/render-core/plugin.js @@ -33,7 +33,7 @@ export class RenderCorePlugin extends Plugin { app .registerType(Meshed) .registerType(Camera) - .registerSystem(AppSchedule.Startup, registerRenderCoreTypes) + .registerSystem({ schedule: AppSchedule.Startup, system: registerRenderCoreTypes }) .registerPlugin(new AssetPlugin({ asset: Image, events: { diff --git a/src/render-core/plugins/material.js b/src/render-core/plugins/material.js index 0bee5d45..f11a3ee1 100644 --- a/src/render-core/plugins/material.js +++ b/src/render-core/plugins/material.js @@ -41,8 +41,8 @@ export class Material2DPlugin extends Plugin { app .registerType(component) - .registerSystem(AppSchedule.Startup, registerMaterialTypes(component, asset)) - .registerSystem(AppSchedule.Update, genBinRenderables2D(asset, component)) + .registerSystem({ schedule: AppSchedule.Startup, system: registerMaterialTypes(component, asset) }) + .registerSystem({ schedule: AppSchedule.Update, system: genBinRenderables2D(asset, component) }) } /** @@ -87,8 +87,8 @@ export class Material3DPlugin extends Plugin { app .registerType(component) - .registerSystem(AppSchedule.Startup, registerMaterialTypes(component, asset)) - .registerSystem(AppSchedule.Update, genBinRenderables3D(asset, component)) + .registerSystem({ schedule: AppSchedule.Startup, system: registerMaterialTypes(component, asset) }) + .registerSystem({ schedule: AppSchedule.Update, system: genBinRenderables3D(asset, component) }) } /** diff --git a/src/render-webgl/plugin.js b/src/render-webgl/plugin.js index 26396890..f68f8778 100644 --- a/src/render-webgl/plugin.js +++ b/src/render-webgl/plugin.js @@ -25,15 +25,15 @@ export class WebglRendererPlugin extends Plugin { .setResource(new ClearColor()) .setResource(attribute) .setResource(new WebglProgramCache()) - .registerSystem(AppSchedule.Startup, registerWebglTypes) - .registerSystem(AppSchedule.Update, registerBuffers) + .registerSystem({ schedule: AppSchedule.Startup, system: registerWebglTypes }) + .registerSystem({ schedule: AppSchedule.Update, system: registerBuffers }) .registerPlugin(new WebglMaterialPlugin({ material: BasicMaterial, vertex3d: basicMaterial3DVertex, fragment3d: basicMaterial3DFragment })) - .registerSystem(AppSchedule.Update, disposeDroppedMeshes) - .registerSystem(AppSchedule.Update, queueMeshes) + .registerSystem({ schedule: AppSchedule.Update, system: disposeDroppedMeshes }) + .registerSystem({ schedule: AppSchedule.Update, system: queueMeshes }) } } diff --git a/src/render-webgl/plugins/index.js b/src/render-webgl/plugins/index.js index 6eabc419..8b7dc8f7 100644 --- a/src/render-webgl/plugins/index.js +++ b/src/render-webgl/plugins/index.js @@ -50,9 +50,9 @@ export class WebglMaterialPlugin { const { material, vertex3d, fragment3d } = this app - .registerSystem(AppSchedule.Startup, genRegisterBuffer(material)) - .registerSystem(AppSchedule.Update, genRenderPipeline(material, vertex3d, fragment3d)) - .registerSystem(AppSchedule.Update, genRender(material)) + .registerSystem({ schedule: AppSchedule.Startup, system: genRegisterBuffer(material) }) + .registerSystem({ schedule: AppSchedule.Update, system: genRenderPipeline(material, vertex3d, fragment3d) }) + .registerSystem({ schedule: AppSchedule.Update, system: genRender(material) }) } name() { diff --git a/src/scene/plugin.js b/src/scene/plugin.js index 1f25644b..6fe66aac 100644 --- a/src/scene/plugin.js +++ b/src/scene/plugin.js @@ -30,7 +30,7 @@ export class ScenePlugin extends Plugin { .setComponentHooks(SceneInstance, new ComponentHooks( initSceneInstance )) - .registerSystem(AppSchedule.Update, spawnScenes) + .registerSystem({ schedule: AppSchedule.Update, system: spawnScenes }) const world = app.getWorld() diff --git a/src/schedule/core/systembuilder.js b/src/schedule/core/systembuilder.js index d06f17e5..2a033e2e 100644 --- a/src/schedule/core/systembuilder.js +++ b/src/schedule/core/systembuilder.js @@ -1,6 +1,5 @@ -import { Scheduler } from '../index.js' +/** @import { Scheduler, SystemConfig } from '../index.js' */ import { assert } from '../../logger/index.js' -import { SystemConfig } from './systemconfig.js' export class SchedulerBuilder { diff --git a/src/schedule/core/systemconfig.js b/src/schedule/core/systemconfig.js index fc9f9ebe..a2526e52 100644 --- a/src/schedule/core/systemconfig.js +++ b/src/schedule/core/systemconfig.js @@ -1,29 +1,11 @@ -/** @import {SystemFunc} from "../../ecs/index.js" */ -export class SystemConfig { +/** @import { SystemFunc } from "../../ecs/index.js" */ +/** @import { Constructor } from "../../type/index.js" */ - /** - * @type {import("../../type/index.js").Constructor | undefined} - */ - systemGroup +/** + * @typedef SystemConfig + * @property {SystemFunc} system + * @property {string} schedule + * @property {Constructor | undefined} [systemGroup] + */ - /** - * @type {SystemFunc} - */ - system - - /** - * @type {string} - */ - schedule - - /** - * @param {SystemFunc} system - * @param {string} schedule - * @param {import("../../type/index.js").Constructor | undefined} [systemGroup] - */ - constructor(system, schedule, systemGroup) { - this.system = system - this.schedule = schedule - this.systemGroup = systemGroup - } -} +export default {} diff --git a/src/storage/plugin.js b/src/storage/plugin.js index e6e774d9..ff1bd0fb 100644 --- a/src/storage/plugin.js +++ b/src/storage/plugin.js @@ -13,6 +13,6 @@ export class StoragePlugin extends Plugin { .setResource(new Session()) .setResource(new Storage()) .setResource(new Cookies()) - .registerSystem(AppSchedule.Startup, registerStorageTypes) + .registerSystem({ schedule: AppSchedule.Startup, system: registerStorageTypes }) } } diff --git a/src/time/plugin.js b/src/time/plugin.js index 1757057a..627a4488 100644 --- a/src/time/plugin.js +++ b/src/time/plugin.js @@ -14,10 +14,10 @@ export class TimePlugin extends Plugin { register(app) { app .registerType(Timer) - .registerSystem(AppSchedule.Startup, registerTimeTypes) + .registerSystem({ schedule: AppSchedule.Startup, system: registerTimeTypes }) .setResource(new VirtualClock()) - .registerSystem(AppSchedule.Update, updateVirtualClock) - .registerSystem(AppSchedule.Update, updateTimers) + .registerSystem({ schedule: AppSchedule.Update, system: updateVirtualClock }) + .registerSystem({ schedule: AppSchedule.Update, system: updateTimers }) } } diff --git a/src/touch/plugin.js b/src/touch/plugin.js index 0402c598..649a39a8 100644 --- a/src/touch/plugin.js +++ b/src/touch/plugin.js @@ -15,9 +15,9 @@ export class TouchPlugin extends Plugin { */ register(app) { app - .registerSystem(AppSchedule.Update, updateTouch) + .registerSystem({ schedule: AppSchedule.Update, system: updateTouch }) .setResource(new Touches()) - .registerSystem(AppSchedule.Startup, registerTouchTypes) + .registerSystem({ schedule: AppSchedule.Startup, system: registerTouchTypes }) } } diff --git a/src/transform/plugins/remote.js b/src/transform/plugins/remote.js index 59585221..bbe642c0 100644 --- a/src/transform/plugins/remote.js +++ b/src/transform/plugins/remote.js @@ -11,8 +11,8 @@ export class RemoteTransform2DPlugin extends Plugin { register(app) { app .registerType(RemoteTransform2D) - .registerSystem(AppSchedule.Startup, registerRemoteTransform2DTypes) - .registerSystem(AppSchedule.Update, transformRemote2D) + .registerSystem({ schedule: AppSchedule.Startup, system: registerRemoteTransform2DTypes }) + .registerSystem({ schedule: AppSchedule.Update, system: transformRemote2D }) } } @@ -24,7 +24,7 @@ export class RemoteTransform3DPlugin extends Plugin { register(app) { app .registerType(RemoteTransform3D) - .registerSystem(AppSchedule.Startup, registerRemoteTransform3DTypes) - .registerSystem(AppSchedule.Update, transformRemote3D) + .registerSystem({ schedule: AppSchedule.Startup, system: registerRemoteTransform3DTypes }) + .registerSystem({ schedule: AppSchedule.Update, system: transformRemote3D }) } } diff --git a/src/transform/plugins/transform.js b/src/transform/plugins/transform.js index 54ec5b77..0520bc34 100644 --- a/src/transform/plugins/transform.js +++ b/src/transform/plugins/transform.js @@ -23,9 +23,9 @@ export class Transform2DPlugin extends Plugin { .registerType(Orientation2D) .registerType(Scale2D) .registerType(GlobalTransform2D) - .registerSystem(AppSchedule.Startup, registerTransform2DTypes) - .registerSystem(AppSchedule.Update, synctransform2D) - .registerSystem(AppSchedule.Update, propagateTransform2D) + .registerSystem({ schedule: AppSchedule.Startup, system: registerTransform2DTypes }) + .registerSystem({ schedule: AppSchedule.Update, system: synctransform2D }) + .registerSystem({ schedule: AppSchedule.Update, system: propagateTransform2D }) } } @@ -40,8 +40,8 @@ export class Transform3DPlugin extends Plugin { .registerType(Orientation3D) .registerType(Scale3D) .registerType(GlobalTransform3D) - .registerSystem(AppSchedule.Startup, registerTransform3DTypes) - .registerSystem(AppSchedule.Update, synctransform3D) - .registerSystem(AppSchedule.Update, propagateTransform3D) + .registerSystem({ schedule: AppSchedule.Startup, system: registerTransform3DTypes }) + .registerSystem({ schedule: AppSchedule.Update, system: synctransform3D }) + .registerSystem({ schedule: AppSchedule.Update, system: propagateTransform3D }) } } diff --git a/src/tween/plugin.js b/src/tween/plugin.js index 2e02d378..76c6408f 100644 --- a/src/tween/plugin.js +++ b/src/tween/plugin.js @@ -101,10 +101,10 @@ export class TweenPlugin extends Plugin { .registerType(this.tween) .registerType(TweenFlip) .registerType(TweenRepeat) - .registerSystem(AppSchedule.Update, generateTweenFlipSystem(this.tween)) - .registerSystem(AppSchedule.Update, generateTweenRepeatTween(this.tween)) - .registerSystem(AppSchedule.Update, generateTweenTimerSystem(this.tween)) - .registerSystem(AppSchedule.Update, generateTweenUpdateSystem(this.component, this.tween, this.interpolation)) + .registerSystem({ schedule: AppSchedule.Update, system: generateTweenFlipSystem(this.tween) }) + .registerSystem({ schedule: AppSchedule.Update, system: generateTweenRepeatTween(this.tween) }) + .registerSystem({ schedule: AppSchedule.Update, system: generateTweenTimerSystem(this.tween) }) + .registerSystem({ schedule: AppSchedule.Update, system: generateTweenUpdateSystem(this.component, this.tween, this.interpolation) }) } name() { diff --git a/src/window/plugin.js b/src/window/plugin.js index 8bbfd925..e4fbd1c0 100644 --- a/src/window/plugin.js +++ b/src/window/plugin.js @@ -55,7 +55,7 @@ export class WindowPlugin extends Plugin { app .registerType(Window) .registerType(MainWindow) - .registerSystem(AppSchedule.Startup, registerWindowTypes) + .registerSystem({ schedule: AppSchedule.Startup, system: registerWindowTypes }) .registerPlugin(new EventPlugin({ event:WindowMove })) @@ -97,7 +97,7 @@ export class WindowPlugin extends Plugin { })) .setResource(new Windows()) - if (this.initPrimaryWindow) app.registerSystem(AppSchedule.Startup, initPrimaryWindow) + if (this.initPrimaryWindow) app.registerSystem({ schedule: AppSchedule.Startup, system: initPrimaryWindow }) } }