diff options
Diffstat (limited to 'server/src/main.ts')
-rw-r--r-- | server/src/main.ts | 41 |
1 files changed, 34 insertions, 7 deletions
diff --git a/server/src/main.ts b/server/src/main.ts index 965e0d7..0e47491 100644 --- a/server/src/main.ts +++ b/server/src/main.ts @@ -2,28 +2,55 @@ import { Grid } from '@engine/structures'; import { ServerMessageProcessor, ServerSocketMessagePublisher, - ServerSocketMessageReceiver + ServerSocketMessageReceiver, + MemorySessionManager, + SessionInputSystem } from './network'; import { Collision, NetworkUpdate, Physics, WallBounds } from '@engine/systems'; import { Game } from '@engine/Game'; import { Constants } from './constants'; import { GameServer } from './server'; +import { Floor } from '@engine/entities'; +import { BoundingBox } from '@engine/components'; +import { Miscellaneous } from '@engine/config'; + +const game = new Game(); + +const sessionManager = new MemorySessionManager(); const messageReceiver = new ServerSocketMessageReceiver(); const messagePublisher = new ServerSocketMessagePublisher(); -const messageProcessor = new ServerMessageProcessor(); +const messageProcessor = new ServerMessageProcessor(game, sessionManager); -const game = new Game(); - -const server = new GameServer(game, messageReceiver, messagePublisher); +const server = new GameServer( + game, + messageReceiver, + messagePublisher, + sessionManager +); [ + new SessionInputSystem(sessionManager), + new NetworkUpdate(messageReceiver, messagePublisher, messageProcessor), new Physics(), new Collision(new Grid()), - new WallBounds(), - new NetworkUpdate(messageReceiver, messagePublisher, messageProcessor) + new WallBounds() ].forEach((system) => game.addSystem(system)); +const floor = new Floor(160); +const floorHeight = 200; + +floor.addComponent( + new BoundingBox( + { + x: Miscellaneous.WIDTH / 2, + y: Miscellaneous.HEIGHT + floorHeight / 2 + }, + { width: Miscellaneous.WIDTH, height: floorHeight } + ) +); +game.addEntity(floor); + game.start(); setInterval(() => { game.doGameLoop(performance.now()); |