Deepen faction economy and station planning

This commit is contained in:
2026-03-19 23:34:06 -04:00
parent 9a5040cf1f
commit cd1fe776a5
33 changed files with 3170 additions and 175 deletions

View File

@@ -101,6 +101,7 @@ internal sealed class SimulationProjectionService
station.Id,
station.Label,
station.Category,
station.Objective,
station.SystemId,
station.LocalPosition,
station.CelestialId,
@@ -544,6 +545,7 @@ internal sealed class SimulationProjectionService
station.Id,
station.Label,
station.Category,
station.Objective,
station.SystemId,
ToDto(station.Position),
station.CelestialId,
@@ -770,8 +772,16 @@ internal sealed class SimulationProjectionService
ps.ControlledSystemCount,
ps.TargetSystemCount,
ps.HasShipFactory,
ps.OreStockpile,
ps.RefinedMetalsStockpile);
NormalizeFiniteFloat(ps.OreStockpile),
NormalizeFiniteFloat(ps.RefinedMetalsStockpile),
NormalizeFiniteFloat(ps.RefinedMetalsProductionRate),
NormalizeFiniteFloat(ps.HullpartsStockpile),
NormalizeFiniteFloat(ps.HullpartsProductionRate),
NormalizeFiniteFloat(ps.ClaytronicsStockpile),
NormalizeFiniteFloat(ps.ClaytronicsProductionRate),
NormalizeFiniteFloat(ps.WaterStockpile),
NormalizeFiniteFloat(ps.WaterProductionRate),
NormalizeFiniteFloat(ps.WaterShortageHorizonSeconds));
}
if (commander?.LastGoalPriorities is { } prios)
@@ -811,4 +821,7 @@ internal sealed class SimulationProjectionService
state.Transit.Progress));
private static Vector3Dto ToDto(Vector3 value) => new(value.X, value.Y, value.Z);
private static float NormalizeFiniteFloat(float value) =>
float.IsFinite(value) ? value : -1f;
}