mirror of
https://github.com/openfrontio/OpenFrontIO.git
synced 2026-06-21 09:50:43 +00:00
created Layers dir
This commit is contained in:
@@ -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";
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
+7
-7
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user