namespace NeonSprawl.Server.Game.Targeting; /// In-memory per-player combat target lock for prototype HTTP (NEO-23). public interface IPlayerTargetLockStore { /// Current lock id (lowercase registry key) and sequence; missing player ⇒ (null, 0). (string? LockIdLowercase, int Sequence) GetLockState(string playerId); /// Clears lock; bumps sequence only if a lock was present. (string? LockIdLowercase, int Sequence) ApplyClear(string playerId); /// Sets lock to ; no sequence bump if already equal (idempotent). (string? LockIdLowercase, int Sequence) ApplySet(string playerId, string targetIdLowercase); }