diff --git a/plan.txt b/plan.txt index 85476dc..b2b7e26 100644 --- a/plan.txt +++ b/plan.txt @@ -1,10 +1,10 @@ Open: -- Multiplayer loopback server - Insecured websocket server implementation - Cloneable RNG that goes in state (use MurmurHash3 finalizer in counter mode?) - remove all random() calls Done: +- Multiplayer loopback server - Refactor input generics to distinct local/full types - Refactor input messages for more than one player - Rework State implementation for easier cloning/deserialization diff --git a/src/Game/Main.ts b/src/Game/Main.ts index 4142aeb..7bf2ddc 100644 --- a/src/Game/Main.ts +++ b/src/Game/Main.ts @@ -3,7 +3,7 @@ import subscribe from "callbag-subscribe"; import { KeyControl, KeyName } from "../Applet/Keyboard"; import { DrawSet } from "../Applet/Render"; -import { Location, Polygon, PolygonComponent, RenderBounds } from "../Ecs/Components"; +import { Location, PolygonComponent, RenderBounds } from "../Ecs/Components"; import { Create } from "../Ecs/Data"; import { RunRenderBounds } from "../Ecs/Renderers"; import { LockstepClient } from "../Net/LockstepClient"; @@ -15,13 +15,11 @@ export class Main extends LockstepClient { buttons = new Buttons(); - constructor(canvas: HTMLCanvasElement, cx: CanvasRenderingContext2D, keys: KeyControl) { + constructor(canvas: HTMLCanvasElement, cx: CanvasRenderingContext2D, keys: KeyControl, server: LoopbackServer) { super(new Engine()); keys.setHandler(this.buttons); - const server = new LoopbackServer(); this.connect(server.socket); - server.resetState({}); pipe( this.renderFrames, diff --git a/src/index.html b/src/index.html index 5e8fcac..12b24c5 100644 --- a/src/index.html +++ b/src/index.html @@ -4,7 +4,8 @@ - - + + + diff --git a/src/index.scss b/src/index.scss index 802907d..292dd43 100644 --- a/src/index.scss +++ b/src/index.scss @@ -12,7 +12,7 @@ body { line-height: $line-height; display: flex; - flex-flow: column; + flex-flow: row wrap; align-items: center; justify-content: center; } diff --git a/src/index.ts b/src/index.ts index 84f2efb..355b334 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,6 +1,9 @@ import { Select } from "./Applet/Init"; +import { KeyName } from "./Applet/Keyboard"; +import { Data } from "./Ecs/Components"; import { BindTests } from "./Ecs/test"; import { Main } from "./Game/Main"; +import { LoopbackServer } from "./Net/LoopbackServer"; /* // Hot Module Reloading stub, if that's viable * declare const module: any; @@ -13,6 +16,10 @@ import { Main } from "./Game/Main"; * } */ -Select("#GameCanvas").forEachCanvas((c, cx, keys) => new Main(c, cx, keys)); +const server = new LoopbackServer(); + +Select(".GameCanvas").forEachCanvas((c, cx, keys) => new Main(c, cx, keys, server)); + +server.resetState({}); BindTests();