chore: convert movement regime kinds to enum

This commit is contained in:
2026-03-27 13:30:10 -04:00
parent 00a1e58184
commit f961ac62b6
13 changed files with 128 additions and 34 deletions

View File

@@ -9,6 +9,11 @@ internal static class SimulationRuntimeSupport
internal static int CountStationModules(StationRuntime station, string moduleId) =>
station.Modules.Count(module => string.Equals(module.ModuleId, moduleId, StringComparison.Ordinal));
internal static int CountStationModules(SimulationWorld world, StationRuntime station, ModuleType moduleType) =>
station.Modules.Count(module =>
world.ModuleDefinitions.TryGetValue(module.ModuleId, out var definition)
&& definition.ModuleType == moduleType);
internal static void AddStationModule(SimulationWorld world, StationRuntime station, string moduleId)
{
if (!world.ModuleDefinitions.TryGetValue(moduleId, out var definition))
@@ -61,6 +66,14 @@ internal static class SimulationRuntimeSupport
internal static int CountModules(IEnumerable<string> modules, string moduleId) =>
modules.Count(candidate => string.Equals(candidate, moduleId, StringComparison.Ordinal));
internal static int CountModules(
IEnumerable<string> modules,
IReadOnlyDictionary<string, ModuleDefinition> moduleDefinitions,
ModuleType moduleType) =>
modules.Count(moduleId =>
moduleDefinitions.TryGetValue(moduleId, out var definition)
&& definition.ModuleType == moduleType);
internal static float GetInventoryAmount(IReadOnlyDictionary<string, float> inventory, string itemId) =>
inventory.TryGetValue(itemId, out var amount) ? amount : 0f;