summaryrefslogtreecommitdiff
path: root/client/src/components/GameCanvas.svelte
blob: ea7dd151914fe6dda30dcd8ac9e75d16b02a9b3a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<script lang="ts">
  import { onMount } from "svelte";
  import { loadAssets } from "@engine/config";
  import { Game } from "@engine/Game";
  import { JumpStorm } from "../JumpStorm";

  let canvas: HTMLCanvasElement;
  let ctx: CanvasRenderingContext2D;

  export let width: number;
  export let height: number;

  onMount(async () => {
    ctx = canvas.getContext("2d");
    ctx.imageSmoothingEnabled = false;

    await loadAssets();

    const game = new Game();
    const jumpStorm = new JumpStorm(game);

    await jumpStorm.init(ctx, "http", "ws", document.location.host + "/api");
    jumpStorm.play();
  });
</script>

<canvas bind:this={canvas} {width} {height} />