84 lines
1.8 KiB
C#
84 lines
1.8 KiB
C#
namespace SpaceGame.Api.Contracts;
|
|
|
|
public sealed record StarSnapshot(
|
|
string Kind,
|
|
string Color,
|
|
string Glow,
|
|
float Size,
|
|
float OrbitRadius,
|
|
float OrbitSpeed,
|
|
float OrbitPhaseAtEpoch);
|
|
|
|
public sealed record MoonSnapshot(
|
|
string Label,
|
|
float Size,
|
|
string Color,
|
|
float OrbitRadius,
|
|
float OrbitSpeed,
|
|
float OrbitPhaseAtEpoch,
|
|
float OrbitInclination,
|
|
float OrbitLongitudeOfAscendingNode);
|
|
|
|
public sealed record SystemSnapshot(
|
|
string Id,
|
|
string Label,
|
|
Vector3Dto GalaxyPosition,
|
|
IReadOnlyList<StarSnapshot> Stars,
|
|
IReadOnlyList<PlanetSnapshot> Planets);
|
|
|
|
public sealed record PlanetSnapshot(
|
|
string Label,
|
|
string PlanetType,
|
|
string Shape,
|
|
IReadOnlyList<MoonSnapshot> Moons,
|
|
float OrbitRadius,
|
|
float OrbitSpeed,
|
|
float OrbitEccentricity,
|
|
float OrbitInclination,
|
|
float OrbitLongitudeOfAscendingNode,
|
|
float OrbitArgumentOfPeriapsis,
|
|
float OrbitPhaseAtEpoch,
|
|
float Size,
|
|
string Color,
|
|
bool HasRing);
|
|
|
|
public sealed record ResourceNodeSnapshot(
|
|
string Id,
|
|
string SystemId,
|
|
Vector3Dto LocalPosition,
|
|
string? CelestialId,
|
|
string SourceKind,
|
|
float OreRemaining,
|
|
float MaxOre,
|
|
string ItemId);
|
|
|
|
public sealed record ResourceNodeDelta(
|
|
string Id,
|
|
string SystemId,
|
|
Vector3Dto LocalPosition,
|
|
string? CelestialId,
|
|
string SourceKind,
|
|
float OreRemaining,
|
|
float MaxOre,
|
|
string ItemId);
|
|
|
|
public sealed record CelestialSnapshot(
|
|
string Id,
|
|
string SystemId,
|
|
string Kind,
|
|
Vector3Dto OrbitalAnchor,
|
|
float LocalSpaceRadius,
|
|
string? ParentNodeId,
|
|
string? OccupyingStructureId,
|
|
string? OrbitReferenceId);
|
|
|
|
public sealed record CelestialDelta(
|
|
string Id,
|
|
string SystemId,
|
|
string Kind,
|
|
Vector3Dto OrbitalAnchor,
|
|
float LocalSpaceRadius,
|
|
string? ParentNodeId,
|
|
string? OccupyingStructureId,
|
|
string? OrbitReferenceId);
|