fix: resolve various build errors

This commit is contained in:
Restart2008
2025-11-22 13:32:02 -08:00
parent fd24755606
commit 0ac881fb3a
6 changed files with 28 additions and 11 deletions
+6 -1
View File
@@ -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,
+3 -3
View File
@@ -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,
+7 -4
View File
@@ -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 {
+1
View File
@@ -4,4 +4,5 @@ export interface Layer {
renderLayer?: (context: CanvasRenderingContext2D) => void;
shouldTransform?: () => boolean;
redraw?: () => void;
destroy?: () => void;
}
+4 -3
View File
@@ -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>(
+7
View File
@@ -6,3 +6,10 @@ export type Ping = {
type: PingType;
tile: TileRef;
};
export class PingPlacedEvent {
constructor(
public readonly type: PingType,
public readonly tile: TileRef,
) {}
}