mirror of
https://github.com/openfrontio/OpenFrontIO.git
synced 2026-06-25 07:34:37 +00:00
fix: resolve various build errors
This commit is contained in:
@@ -186,7 +186,12 @@ async function createClientGame(
|
||||
lobbyConfig,
|
||||
eventBus,
|
||||
gameRenderer,
|
||||
new InputHandler(gameRenderer.uiState, canvas, eventBus),
|
||||
new InputHandler(
|
||||
gameRenderer.uiState,
|
||||
canvas,
|
||||
eventBus,
|
||||
gameRenderer.transformHandler,
|
||||
),
|
||||
transport,
|
||||
worker,
|
||||
gameView,
|
||||
|
||||
@@ -25,7 +25,7 @@ import { MultiTabModal } from "./layers/MultiTabModal";
|
||||
import { NameLayer } from "./layers/NameLayer";
|
||||
import { NukeTrajectoryPreviewLayer } from "./layers/NukeTrajectoryPreviewLayer";
|
||||
import { PerformanceOverlay } from "./layers/PerformanceOverlay";
|
||||
import { PingTargetPreviewLayer } from "./layers/PingTargetPreviewLayer";
|
||||
import { PingTrajectoryPreviewLayer } from "./layers/PingTrajectoryPreviewLayer";
|
||||
import { PlayerInfoOverlay } from "./layers/PlayerInfoOverlay";
|
||||
import { PlayerPanel } from "./layers/PlayerPanel";
|
||||
import { RailroadLayer } from "./layers/RailroadLayer";
|
||||
@@ -211,7 +211,7 @@ export function createRenderer(
|
||||
transformHandler,
|
||||
uiState,
|
||||
);
|
||||
const pingTargetPreviewLayer = new PingTargetPreviewLayer(
|
||||
const pingTrajectoryPreviewLayer = new PingTrajectoryPreviewLayer(
|
||||
game,
|
||||
eventBus,
|
||||
transformHandler,
|
||||
@@ -251,7 +251,7 @@ export function createRenderer(
|
||||
new FxLayer(game, eventBus),
|
||||
new UILayer(game, eventBus, transformHandler),
|
||||
new NukeTrajectoryPreviewLayer(game, eventBus, transformHandler),
|
||||
pingTargetPreviewLayer,
|
||||
pingTrajectoryPreviewLayer,
|
||||
new StructureIconsLayer(game, eventBus, uiState, transformHandler),
|
||||
new NameLayer(game, transformHandler, eventBus),
|
||||
eventsDisplay,
|
||||
|
||||
@@ -371,10 +371,13 @@ export class FxLayer implements Layer {
|
||||
this.pingEventCleanup();
|
||||
this.pingEventCleanup = undefined;
|
||||
}
|
||||
this.pingEventCleanup = this.eventBus.on(PingPlacedEvent, (event) => {
|
||||
const pingFx = new PingFx(this.game, event.type, event.tile);
|
||||
this.allFx.push(pingFx);
|
||||
});
|
||||
this.pingEventCleanup = this.eventBus.on(
|
||||
PingPlacedEvent,
|
||||
(event: PingPlacedEvent) => {
|
||||
const pingFx = new PingFx(this.game, event.type, event.tile);
|
||||
this.allFx.push(pingFx);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
redraw(): void {
|
||||
|
||||
@@ -4,4 +4,5 @@ export interface Layer {
|
||||
renderLayer?: (context: CanvasRenderingContext2D) => void;
|
||||
shouldTransform?: () => boolean;
|
||||
redraw?: () => void;
|
||||
destroy?: () => void;
|
||||
}
|
||||
|
||||
@@ -21,12 +21,13 @@ export class EventBus {
|
||||
on<T extends GameEvent>(
|
||||
eventType: EventConstructor<T>,
|
||||
callback: (event: T) => void,
|
||||
): void {
|
||||
): () => void {
|
||||
if (!this.listeners.has(eventType)) {
|
||||
this.listeners.set(eventType, []);
|
||||
}
|
||||
const callbacks = this.listeners.get(eventType)!;
|
||||
callbacks.push(callback as (event: GameEvent) => void);
|
||||
this.listeners.get(eventType)!.push(callback as (event: GameEvent) => void);
|
||||
|
||||
return () => this.off(eventType, callback);
|
||||
}
|
||||
|
||||
off<T extends GameEvent>(
|
||||
|
||||
@@ -6,3 +6,10 @@ export type Ping = {
|
||||
type: PingType;
|
||||
tile: TileRef;
|
||||
};
|
||||
|
||||
export class PingPlacedEvent {
|
||||
constructor(
|
||||
public readonly type: PingType,
|
||||
public readonly tile: TileRef,
|
||||
) {}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user