refactor(backend): simplify cargo kind loading

This commit is contained in:
2026-03-27 15:18:42 -04:00
parent e8fb033a01
commit 3237735b08
11 changed files with 35 additions and 82 deletions

View File

@@ -176,7 +176,7 @@ internal sealed class InfrastructureSimulationService
}
var used = station.Inventory
.Where(entry => world.ItemDefinitions.TryGetValue(entry.Key, out var def) && def.CargoStorageKind == storageKind)
.Where(entry => world.ItemDefinitions.TryGetValue(entry.Key, out var def) && def.CargoKind == storageKind)
.Sum(entry => entry.Value);
if (used / capacity >= 0.65f)
{
@@ -195,7 +195,7 @@ internal sealed class InfrastructureSimulationService
continue;
}
if (GetStorageRequirement(world.ModuleDefinitions, itemDefinition.CargoStorageKind) is { } storageModuleId)
if (GetStorageRequirement(world.ModuleDefinitions, itemDefinition.CargoKind) is { } storageModuleId)
{
yield return storageModuleId;
}
@@ -210,7 +210,7 @@ internal sealed class InfrastructureSimulationService
continue;
}
if (GetStorageRequirement(world.ModuleDefinitions, itemDefinition.CargoStorageKind) is { } storageModuleId)
if (GetStorageRequirement(world.ModuleDefinitions, itemDefinition.CargoKind) is { } storageModuleId)
{
yield return storageModuleId;
}
@@ -325,7 +325,7 @@ internal sealed class InfrastructureSimulationService
var capacity = GetStationStorageCapacity(world, station, storageKind);
var used = station.Inventory
.Where(entry => world.ItemDefinitions.TryGetValue(entry.Key, out var def) && def.CargoStorageKind == storageKind)
.Where(entry => world.ItemDefinitions.TryGetValue(entry.Key, out var def) && def.CargoKind == storageKind)
.Sum(entry => entry.Value);
var utilization = capacity <= 0.01f ? 0f : used / capacity;
@@ -689,12 +689,12 @@ internal sealed class InfrastructureSimulationService
return recipe.Inputs.Any(input =>
world.ItemDefinitions.TryGetValue(input.ItemId, out var itemDefinition)
&& itemDefinition.CargoStorageKind == storageKind);
&& itemDefinition.CargoKind == storageKind);
}
private static bool CommodityUsesStorageClass(SimulationWorld world, string commodityId, StorageKind storageKind) =>
world.ItemDefinitions.TryGetValue(commodityId, out var itemDefinition)
&& itemDefinition.CargoStorageKind == storageKind;
&& itemDefinition.CargoKind == storageKind;
private static bool CanStationAcceptStationOutputSoon(SimulationWorld world, StationRuntime station, string itemId, float amount)
{
@@ -703,7 +703,7 @@ internal sealed class InfrastructureSimulationService
return false;
}
if (itemDefinition.CargoStorageKind is not { } storageKind)
if (itemDefinition.CargoKind is not { } storageKind)
{
return false;
}
@@ -715,7 +715,7 @@ internal sealed class InfrastructureSimulationService
}
var used = station.Inventory
.Where(entry => world.ItemDefinitions.TryGetValue(entry.Key, out var definition) && definition.CargoStorageKind == storageKind)
.Where(entry => world.ItemDefinitions.TryGetValue(entry.Key, out var definition) && definition.CargoKind == storageKind)
.Sum(entry => entry.Value);
return used + amount <= capacity * 0.95f;
}