From 2fbe0f0595d06800c1a648a4168b57471d395ee4 Mon Sep 17 00:00:00 2001 From: Elizabeth Hunt Date: Fri, 25 Aug 2023 18:10:09 -0600 Subject: refactor server structure --- server/src/main.ts | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 server/src/main.ts (limited to 'server/src/main.ts') diff --git a/server/src/main.ts b/server/src/main.ts new file mode 100644 index 0000000..965e0d7 --- /dev/null +++ b/server/src/main.ts @@ -0,0 +1,32 @@ +import { Grid } from '@engine/structures'; +import { + ServerMessageProcessor, + ServerSocketMessagePublisher, + ServerSocketMessageReceiver +} from './network'; +import { Collision, NetworkUpdate, Physics, WallBounds } from '@engine/systems'; +import { Game } from '@engine/Game'; +import { Constants } from './constants'; +import { GameServer } from './server'; + +const messageReceiver = new ServerSocketMessageReceiver(); +const messagePublisher = new ServerSocketMessagePublisher(); +const messageProcessor = new ServerMessageProcessor(); + +const game = new Game(); + +const server = new GameServer(game, messageReceiver, messagePublisher); + +[ + new Physics(), + new Collision(new Grid()), + new WallBounds(), + new NetworkUpdate(messageReceiver, messagePublisher, messageProcessor) +].forEach((system) => game.addSystem(system)); + +game.start(); +setInterval(() => { + game.doGameLoop(performance.now()); +}, Constants.SERVER_TICK_RATE); + +server.serve(); -- cgit v1.2.3-70-g09d2