summaryrefslogtreecommitdiff
path: root/client/lib/JumpStorm.ts
diff options
context:
space:
mode:
Diffstat (limited to 'client/lib/JumpStorm.ts')
-rw-r--r--client/lib/JumpStorm.ts54
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;
- }
-}