neon-sprawl/server/NeonSprawl.Server/Game/PositionState/IPositionStateStore.cs

15 lines
745 B
C#

namespace NeonSprawl.Server.Game.PositionState;
/// <summary>In-memory source of truth for player positions (NS-15 read API, NS-16 move apply).</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);
}