don't show train tracks when zoomed out (#2131)

## Description:

When zoomed out the tracks don't alias well and makes the map too busy.

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced

## Please put your Discord username so you can be contacted if a bug or
regression is found:

evan
This commit is contained in:
evanpelle
2025-10-02 17:31:48 -07:00
committed by GitHub
parent 5b36c02ff0
commit fa9259b1fc
2 changed files with 11 additions and 2 deletions
+1 -1
View File
@@ -236,7 +236,7 @@ export function createRenderer(
const layers: Layer[] = [
new TerrainLayer(game, transformHandler),
new TerritoryLayer(game, eventBus, transformHandler, userSettings),
new RailroadLayer(game),
new RailroadLayer(game, transformHandler),
structureLayer,
new UnitLayer(game, eventBus, transformHandler),
new FxLayer(game),
+10 -1
View File
@@ -9,6 +9,7 @@ import {
RailType,
} from "../../../core/game/GameUpdates";
import { GameView } from "../../../core/game/GameView";
import { TransformHandler } from "../TransformHandler";
import { Layer } from "./Layer";
import { getBridgeRects, getRailroadRects } from "./RailroadSprites";
@@ -27,7 +28,10 @@ export class RailroadLayer implements Layer {
private nextRailIndexToCheck = 0;
private railTileList: TileRef[] = [];
constructor(private game: GameView) {
constructor(
private game: GameView,
private transformHandler: TransformHandler,
) {
this.theme = game.config().theme();
}
@@ -91,6 +95,11 @@ export class RailroadLayer implements Layer {
renderLayer(context: CanvasRenderingContext2D) {
this.updateRailColors();
if (this.transformHandler.scale <= 2) {
// When zoomed out, don't show the railroads
// to prevent map clutter.
return;
}
context.drawImage(
this.canvas,
-this.game.width() / 2,