namespace RadicadeServer.RecNet.Rooms { public static class SceneLocations { public const string MakerRoom = "a75f7547-79eb-47c6-8986-6767abcb4f92"; public const string Dorm = "76d98498-60a1-430c-ab76-b54a29b7a163"; private static readonly HashSet KnownBadValues = new(StringComparer.OrdinalIgnoreCase) { "unknown", "none", "null", }; public static bool IsValid(string? unitySceneId) { if (string.IsNullOrWhiteSpace(unitySceneId)) return false; var trimmed = unitySceneId.Trim(); if (KnownBadValues.Contains(trimmed)) return false; return Guid.TryParse(trimmed, out _); } public static string ResolveFallback(IEnumerable candidateUnitySceneIds, bool isDorm) { foreach (var id in candidateUnitySceneIds) { if (IsValid(id)) return id!.Trim(); } return isDorm ? Dorm : MakerRoom; } } }