refactored terrain render into separate class

This commit is contained in:
evanpelle
2024-08-24 12:23:37 -07:00
parent bb8c24e230
commit b7ecf1de12
3 changed files with 21 additions and 38 deletions
+6 -4
View File
@@ -8,23 +8,25 @@ import {InputHandler, MouseUpEvent, ZoomEvent, DragEvent, MouseDownEvent} from "
import {ClientID, ClientIntentMessageSchema, ClientJoinMessageSchema, ClientLeaveMessageSchema, ClientMessageSchema, GameID, Intent, ServerMessage, ServerMessageSchema, ServerSyncMessage, Turn} from "../core/Schemas";
import {TerrainMap} from "../core/TerrainMapLoader";
import {bfs, manhattanDist} from "../core/Util";
import {TerrainRenderer} from "./graphics/TerrainRenderer";
export function createClientGame(name: string, clientID: ClientID, gameID: GameID, config: Config, terrainMap: TerrainMap): ClientGame {
let eventBus = new EventBus()
let gs = createGame(terrainMap, eventBus, config)
let gameRenderer = new GameRenderer(gs, config.theme(), document.createElement("canvas"))
let game = createGame(terrainMap, eventBus, config)
let terrainRenderer = new TerrainRenderer(game)
let gameRenderer = new GameRenderer(game, config.theme(), terrainRenderer)
return new ClientGame(
name,
clientID,
gameID,
eventBus,
gs,
game,
gameRenderer,
new InputHandler(eventBus),
new Executor(gs)
new Executor(game)
)
}