dedup tileRef for tileUpdateSink(tileRef)

This commit is contained in:
scamiv
2025-11-26 16:41:27 +01:00
parent 6793871cf3
commit 08a2ff906b
+5 -1
View File
@@ -181,9 +181,13 @@ export class GameRunner {
let packedTileUpdates: BigUint64Array;
const tileUpdates = updates[GameUpdateType.Tile];
if (this.tileUpdateSink !== undefined) {
const seenTiles = new Set<TileRef>();
for (const u of tileUpdates) {
const tileRef = Number(u.update >> 16n) as TileRef;
this.tileUpdateSink(tileRef);
if (!seenTiles.has(tileRef)) {
seenTiles.add(tileRef);
this.tileUpdateSink(tileRef);
}
}
packedTileUpdates = new BigUint64Array();
} else {