refactor(backend): simplify cargo kind loading
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -408,7 +408,7 @@ internal sealed class StationSimulationService
|
||||
return false;
|
||||
}
|
||||
|
||||
var storageKind = itemDefinition.CargoStorageKind;
|
||||
var storageKind = itemDefinition.CargoKind;
|
||||
if (storageKind is null)
|
||||
{
|
||||
return false;
|
||||
@@ -426,7 +426,7 @@ internal sealed class StationSimulationService
|
||||
}
|
||||
|
||||
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.001f;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user