84 lines
2.0 KiB
C#
84 lines
2.0 KiB
C#
namespace SpaceGame.Api.Contracts;
|
|
|
|
public sealed record ShipSnapshot(
|
|
string Id,
|
|
string Label,
|
|
string Kind,
|
|
string Class,
|
|
string SystemId,
|
|
Vector3Dto LocalPosition,
|
|
Vector3Dto LocalVelocity,
|
|
Vector3Dto TargetLocalPosition,
|
|
string State,
|
|
string? OrderKind,
|
|
string DefaultBehaviorKind,
|
|
string? BehaviorPhase,
|
|
string ControllerTaskKind,
|
|
string? CommanderObjective,
|
|
string? CelestialId,
|
|
string? DockedStationId,
|
|
string? CommanderId,
|
|
string? PolicySetId,
|
|
float CargoCapacity,
|
|
|
|
float TravelSpeed,
|
|
string TravelSpeedUnit,
|
|
IReadOnlyList<InventoryEntry> Inventory,
|
|
string FactionId,
|
|
float Health,
|
|
IReadOnlyList<string> History,
|
|
ShipActionProgressSnapshot? CurrentAction,
|
|
ShipSpatialStateSnapshot SpatialState);
|
|
|
|
public sealed record ShipDelta(
|
|
string Id,
|
|
string Label,
|
|
string Kind,
|
|
string Class,
|
|
string SystemId,
|
|
Vector3Dto LocalPosition,
|
|
Vector3Dto LocalVelocity,
|
|
Vector3Dto TargetLocalPosition,
|
|
string State,
|
|
string? OrderKind,
|
|
string DefaultBehaviorKind,
|
|
string? BehaviorPhase,
|
|
string ControllerTaskKind,
|
|
string? CommanderObjective,
|
|
string? CelestialId,
|
|
string? DockedStationId,
|
|
string? CommanderId,
|
|
string? PolicySetId,
|
|
float CargoCapacity,
|
|
|
|
float TravelSpeed,
|
|
string TravelSpeedUnit,
|
|
IReadOnlyList<InventoryEntry> Inventory,
|
|
string FactionId,
|
|
float Health,
|
|
IReadOnlyList<string> History,
|
|
ShipActionProgressSnapshot? CurrentAction,
|
|
ShipSpatialStateSnapshot SpatialState);
|
|
|
|
public sealed record ShipActionProgressSnapshot(
|
|
string Label,
|
|
float Progress);
|
|
|
|
public sealed record ShipSpatialStateSnapshot(
|
|
string SpaceLayer,
|
|
string CurrentSystemId,
|
|
string? CurrentCelestialId,
|
|
Vector3Dto? LocalPosition,
|
|
Vector3Dto? SystemPosition,
|
|
string MovementRegime,
|
|
string? DestinationNodeId,
|
|
ShipTransitSnapshot? Transit);
|
|
|
|
public sealed record ShipTransitSnapshot(
|
|
string Regime,
|
|
string? OriginNodeId,
|
|
string? DestinationNodeId,
|
|
DateTimeOffset? StartedAtUtc,
|
|
DateTimeOffset? ArrivalDueAtUtc,
|
|
float Progress);
|