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

@@ -1,3 +1,4 @@
using SpaceGame.Api.Shared.Runtime;
using static SpaceGame.Api.Universe.Scenario.LoaderSupport;
namespace SpaceGame.Api.Universe.Scenario;
@@ -60,11 +61,13 @@ internal sealed class WorldSeedingService
}
}
internal void InitializeStationStockpiles(IReadOnlyCollection<StationRuntime> stations)
internal void InitializeStationStockpiles(
IReadOnlyCollection<StationRuntime> stations,
IReadOnlyDictionary<string, ModuleDefinition> moduleDefinitions)
{
foreach (var station in stations)
{
InitializeStationPopulation(station);
InitializeStationPopulation(station, moduleDefinitions);
}
}
@@ -551,9 +554,11 @@ internal sealed class WorldSeedingService
};
}
private static void InitializeStationPopulation(StationRuntime station)
private static void InitializeStationPopulation(
StationRuntime station,
IReadOnlyDictionary<string, ModuleDefinition> moduleDefinitions)
{
var habitatModules = CountModules(station.InstalledModules, "module_arg_hab_m_01");
var habitatModules = CountModules(station.InstalledModules, moduleDefinitions, ModuleType.Habitation);
station.PopulationCapacity = 40f + (habitatModules * 220f);
station.WorkforceRequired = MathF.Max(12f, station.Modules.Count * 14f);
station.Population = habitatModules > 0