Refactor simulation and viewer architecture
This commit is contained in:
85
apps/backend/Contracts/WorldContracts.Celestial.cs
Normal file
85
apps/backend/Contracts/WorldContracts.Celestial.cs
Normal file
@@ -0,0 +1,85 @@
|
||||
namespace SpaceGame.Simulation.Api.Contracts;
|
||||
|
||||
public sealed record SystemSnapshot(
|
||||
string Id,
|
||||
string Label,
|
||||
Vector3Dto GalaxyPosition,
|
||||
string StarKind,
|
||||
int StarCount,
|
||||
string StarColor,
|
||||
float StarSize,
|
||||
IReadOnlyList<PlanetSnapshot> Planets);
|
||||
|
||||
public sealed record PlanetSnapshot(
|
||||
string Label,
|
||||
string PlanetType,
|
||||
string Shape,
|
||||
int MoonCount,
|
||||
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 SourceKind,
|
||||
float OreRemaining,
|
||||
float MaxOre,
|
||||
string ItemId);
|
||||
|
||||
public sealed record ResourceNodeDelta(
|
||||
string Id,
|
||||
string SystemId,
|
||||
Vector3Dto LocalPosition,
|
||||
string SourceKind,
|
||||
float OreRemaining,
|
||||
float MaxOre,
|
||||
string ItemId);
|
||||
|
||||
public sealed record SpatialNodeSnapshot(
|
||||
string Id,
|
||||
string SystemId,
|
||||
string Kind,
|
||||
Vector3Dto LocalPosition,
|
||||
string BubbleId,
|
||||
string? ParentNodeId,
|
||||
string? OccupyingStructureId,
|
||||
string? OrbitReferenceId);
|
||||
|
||||
public sealed record SpatialNodeDelta(
|
||||
string Id,
|
||||
string SystemId,
|
||||
string Kind,
|
||||
Vector3Dto LocalPosition,
|
||||
string BubbleId,
|
||||
string? ParentNodeId,
|
||||
string? OccupyingStructureId,
|
||||
string? OrbitReferenceId);
|
||||
|
||||
public sealed record LocalBubbleSnapshot(
|
||||
string Id,
|
||||
string NodeId,
|
||||
string SystemId,
|
||||
float Radius,
|
||||
IReadOnlyList<string> OccupantShipIds,
|
||||
IReadOnlyList<string> OccupantStationIds,
|
||||
IReadOnlyList<string> OccupantClaimIds,
|
||||
IReadOnlyList<string> OccupantConstructionSiteIds);
|
||||
|
||||
public sealed record LocalBubbleDelta(
|
||||
string Id,
|
||||
string NodeId,
|
||||
string SystemId,
|
||||
float Radius,
|
||||
IReadOnlyList<string> OccupantShipIds,
|
||||
IReadOnlyList<string> OccupantStationIds,
|
||||
IReadOnlyList<string> OccupantClaimIds,
|
||||
IReadOnlyList<string> OccupantConstructionSiteIds);
|
||||
Reference in New Issue
Block a user