refactor(backend): align station module production semantics

This commit is contained in:
2026-03-27 16:44:50 -04:00
parent 3237735b08
commit 04d182e93f
10 changed files with 125 additions and 82 deletions

View File

@@ -38,7 +38,7 @@ internal sealed class WorldBuilder(
catalog.ModuleDefinitions,
catalog.ItemDefinitions);
seedingService.InitializeStationStockpiles(stations);
seedingService.InitializeStationStockpiles(stations, catalog.ModuleDefinitions);
var refinery = seedingService.SelectRefineryStation(stations, scenario);
var patrolRoutes = BuildPatrolRoutes(scenario, systemsById);
var ships = CreateShips(scenario, systemsById, spatialLayout.Celestials, catalog.Balance, catalog.ShipDefinitions, patrolRoutes, stations, refinery);
@@ -208,9 +208,9 @@ internal sealed class WorldBuilder(
yield break;
}
foreach (var wareId in moduleDefinition.Production
foreach (var wareId in moduleDefinition.BuildRecipes
.SelectMany(production => production.Wares.Select(ware => ware.ItemId))
.Concat(moduleDefinition.Products)
.Concat(moduleDefinition.ProductItemIds)
.Distinct(StringComparer.Ordinal))
{
if (!itemDefinitions.TryGetValue(wareId, out var itemDefinition))