21 lines
930 B
C#
21 lines
930 B
C#
namespace NeonSprawl.Server.Game.PositionState;
|
|
|
|
/// <summary>
|
|
/// HTTP JSON body for <c>POST /game/players/{{id}}/move-stream</c> (NEO-22): ordered absolute
|
|
/// targets applied in one request; each leg uses the same rules as <see cref="MoveCommandRequest"/>.
|
|
/// </summary>
|
|
public sealed class MoveStreamRequest
|
|
{
|
|
/// <summary>Maximum number of targets accepted per request (inclusive).</summary>
|
|
public const int MaxTargets = 24;
|
|
|
|
/// <summary>Schema version for this contract; must match <see cref="CurrentSchemaVersion"/>.</summary>
|
|
public const int CurrentSchemaVersion = 1;
|
|
|
|
/// <summary>Contract version; must equal <see cref="CurrentSchemaVersion"/>.</summary>
|
|
public int SchemaVersion { get; init; }
|
|
|
|
/// <summary>World targets applied in order; each must pass validation from the position after the previous apply.</summary>
|
|
public IReadOnlyList<PositionVector>? Targets { get; init; }
|
|
}
|