diff options
author | Elizabeth Hunt <elizabeth.hunt@simponic.xyz> | 2023-07-20 20:47:32 -0700 |
---|---|---|
committer | Elizabeth Hunt <elizabeth.hunt@simponic.xyz> | 2023-07-20 20:47:32 -0700 |
commit | 72c6c7de12e9833f52bf2d0718d70f044f8ab57e (patch) | |
tree | 152f5f31d59011bb8c617bfbcfc44cc8f47ecad5 /client/lib/JumpStorm.ts | |
parent | 0fd9fb097552686f2257c1aa689d797e80057bd1 (diff) | |
download | jumpstorm-72c6c7de12e9833f52bf2d0718d70f044f8ab57e.tar.gz jumpstorm-72c6c7de12e9833f52bf2d0718d70f044f8ab57e.zip |
a bit of refactoring; importing engine into bun for server
Diffstat (limited to 'client/lib/JumpStorm.ts')
-rw-r--r-- | client/lib/JumpStorm.ts | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/client/lib/JumpStorm.ts b/client/lib/JumpStorm.ts deleted file mode 100644 index c76d9bc..0000000 --- a/client/lib/JumpStorm.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { Floor, Player } from "./entities"; -import { Game } from "./Game"; -import { - WallBounds, - FacingDirection, - Render, - Physics, - Input, - Collision, -} from "./systems"; - -export class JumpStorm { - private game: Game; - - constructor(ctx: CanvasRenderingContext2D) { - this.game = new Game(); - - [ - this.createInputSystem(), - new FacingDirection(), - new Physics(), - new Collision(), - new WallBounds(ctx.canvas.width), - new Render(ctx), - ].forEach((system) => this.game.addSystem(system)); - - [new Floor(160), new Player()].forEach((entity) => - this.game.addEntity(entity) - ); - } - - public play() { - this.game.start(); - - const loop = (timestamp: number) => { - this.game.doGameLoop(timestamp); - requestAnimationFrame(loop); // tail call recursion! /s - }; - requestAnimationFrame(loop); - } - - private createInputSystem(): Input { - const inputSystem = new Input(); - - window.addEventListener("keydown", (e) => { - if (!e.repeat) { - inputSystem.keyPressed(e.key); - } - }); - window.addEventListener("keyup", (e) => inputSystem.keyReleased(e.key)); - - return inputSystem; - } -} |