created Layers dir

This commit is contained in:
evanpelle
2024-09-16 17:14:20 -07:00
parent 9d4a146a73
commit aaa16683e1
7 changed files with 38 additions and 38 deletions
+1 -1
View File
@@ -8,7 +8,7 @@ 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 {and, bfs, dist, manhattanDist} from "../core/Util";
import {TerrainRenderer} from "./graphics/TerrainRenderer";
import {TerrainLayer} from "./graphics/layers/TerrainLayer";
import {WinCheckExecution} from "../core/execution/WinCheckExecution";
+9 -9
View File
@@ -2,15 +2,15 @@ import {Colord} from "colord";
import {Cell, Game, PlayerEvent, Tile, TileEvent, Player, Execution, BoatEvent} from "../../core/Game";
import {Theme} from "../../core/configuration/Config";
import {DragEvent, ZoomEvent} from "../InputHandler";
import {NameRenderer} from "./NameRenderer";
import {TerrainRenderer} from "./TerrainRenderer";
import {TerritoryRenderer} from "./TerritoryRenderer";
import {NameLayer} from "./layers/NameLayer";
import {TerrainLayer} from "./layers/TerrainLayer";
import {TerritoryLayer} from "./layers/TerritoryLayer";
import {ClientID} from "../../core/Schemas";
import {createCanvas, renderTroops} from "./Utils";
import {UIRenderer} from "./UIRenderer";
import {UILayer} from "./layers/UILayer";
import {EventBus} from "../../core/EventBus";
import {TransformHandler} from "./TransformHandler";
import {Layer} from "./Layer";
import {Layer} from "./layers/Layer";
export function createRenderer(game: Game, eventBus: EventBus, clientID: ClientID): GameRenderer {
@@ -18,10 +18,10 @@ export function createRenderer(game: Game, eventBus: EventBus, clientID: ClientI
const transformHandler = new TransformHandler(game, eventBus, canvas.getBoundingClientRect())
const layers: Layer[] = [
new TerrainRenderer(game),
new TerritoryRenderer(game, eventBus),
new NameRenderer(game, game.config().theme()),
new UIRenderer(eventBus, game, game.config().theme(), clientID)
new TerrainLayer(game),
new TerritoryLayer(game, eventBus),
new NameLayer(game, game.config().theme()),
new UILayer(eventBus, game, game.config().theme(), clientID)
]
return new GameRenderer(game, eventBus, canvas, transformHandler, layers)
@@ -1,4 +1,4 @@
import {TransformHandler} from "./TransformHandler"
import {TransformHandler} from "../TransformHandler"
export interface Layer {
init()
@@ -1,11 +1,11 @@
import {Cell, Game, Player, PlayerType} from "../../core/Game"
import {PseudoRandom} from "../../core/PseudoRandom"
import {calculateBoundingBox} from "../../core/Util"
import {Theme} from "../../core/configuration/Config"
import {Cell, Game, Player, PlayerType} from "../../../core/Game"
import {PseudoRandom} from "../../../core/PseudoRandom"
import {calculateBoundingBox} from "../../../core/Util"
import {Theme} from "../../../core/configuration/Config"
import {Layer} from "./Layer"
import {placeName} from "./NameBoxCalculator"
import {TransformHandler} from "./TransformHandler"
import {renderTroops} from "./Utils"
import {placeName} from "../NameBoxCalculator"
import {TransformHandler} from "../TransformHandler"
import {renderTroops} from "../Utils"
class RenderInfo {
public isVisible = true
@@ -19,7 +19,7 @@ class RenderInfo {
) { }
}
export class NameRenderer implements Layer {
export class NameLayer implements Layer {
private lastChecked = 0
private refreshRate = 1000
@@ -1,10 +1,10 @@
import {inherits} from "util"
import {Game} from "../../core/Game";
import {Game} from "../../../core/Game";
import {throws} from "assert";
import {Layer} from "./Layer";
import {TransformHandler} from "./TransformHandler";
import {TransformHandler} from "../TransformHandler";
export class TerrainRenderer implements Layer {
export class TerrainLayer implements Layer {
private canvas: HTMLCanvasElement
private context: CanvasRenderingContext2D
private imageData: ImageData
@@ -1,14 +1,14 @@
import {PriorityQueue} from "@datastructures-js/priority-queue";
import {Boat, BoatEvent, Cell, Game, Player, Tile, TileEvent} from "../../core/Game";
import {PseudoRandom} from "../../core/PseudoRandom";
import {Boat, BoatEvent, Cell, Game, Player, Tile, TileEvent} from "../../../core/Game";
import {PseudoRandom} from "../../../core/PseudoRandom";
import {Colord} from "colord";
import {bfs, dist} from "../../core/Util";
import {Theme} from "../../core/configuration/Config";
import {bfs, dist} from "../../../core/Util";
import {Theme} from "../../../core/configuration/Config";
import {Layer} from "./Layer";
import {TransformHandler} from "./TransformHandler";
import {EventBus} from "../../core/EventBus";
import {TransformHandler} from "../TransformHandler";
import {EventBus} from "../../../core/EventBus";
export class TerritoryRenderer implements Layer {
export class TerritoryLayer implements Layer {
private canvas: HTMLCanvasElement
private context: CanvasRenderingContext2D
private imageData: ImageData
@@ -1,13 +1,13 @@
import {Theme} from "../../core/configuration/Config";
import {EventBus} from "../../core/EventBus";
import {WinEvent} from "../../core/execution/WinCheckExecution";
import {Game, Player} from "../../core/Game";
import {ClientID} from "../../core/Schemas";
import {renderTroops} from "./Utils";
import {Theme} from "../../../core/configuration/Config";
import {EventBus} from "../../../core/EventBus";
import {WinEvent} from "../../../core/execution/WinCheckExecution";
import {Game, Player} from "../../../core/Game";
import {ClientID} from "../../../core/Schemas";
import {renderTroops} from "../Utils";
import winModalHtml from '../WinModal.html';
import {RightClickEvent} from "../InputHandler";
import {RightClickEvent} from "../../InputHandler";
import {Layer} from "./Layer";
import {TransformHandler} from "./TransformHandler";
import {TransformHandler} from "../TransformHandler";
interface MenuOption {
@@ -15,7 +15,7 @@ interface MenuOption {
action: () => void;
}
export class UIRenderer implements Layer {
export class UILayer implements Layer {
private exitButton: HTMLButtonElement;
private winModal: HTMLElement | null = null;