namespace NeonSprawl.Server.Game.PositionState;
/// Configured player ids seeded at host start (dev player + Bruno/manual QA fixtures).
public static class GamePlayerSeed
{
/// Distinct normalized player ids from and .
public static IReadOnlyList GetSeedPlayerIds(GamePositionOptions options)
{
var seen = new HashSet(StringComparer.OrdinalIgnoreCase);
var list = new List();
Add(options.DevPlayerId, seen, list);
foreach (var id in options.FixturePlayerIds)
{
Add(id, seen, list);
}
return list;
}
private static void Add(string? raw, HashSet seen, List list)
{
var t = raw?.Trim();
if (string.IsNullOrEmpty(t) || !seen.Add(t))
{
return;
}
list.Add(t);
}
}