15 lines
794 B
C#
15 lines
794 B
C#
namespace NeonSprawl.Server.Game.PositionState;
|
|
|
|
/// <summary>Authoritative player positions — in-memory or PostgreSQL per configuration (NS-15 read API, NS-16 move apply, NS-17 persistence).</summary>
|
|
public interface IPositionStateStore
|
|
{
|
|
/// <summary>Returns false if the player is unknown (HTTP 404). <paramref name="playerId"/> is trimmed; matching is ordinal case-insensitive.</summary>
|
|
bool TryGetPosition(string playerId, out PositionSnapshot snapshot);
|
|
|
|
/// <summary>
|
|
/// Sets authoritative position to the given coordinates (v1 snap) and increments <see cref="PositionSnapshot.Sequence"/>.
|
|
/// Returns false if the player is unknown.
|
|
/// </summary>
|
|
bool TryApplyMoveTarget(string playerId, double x, double y, double z, out PositionSnapshot snapshot);
|
|
}
|