/// <summary> /// Triggered when the connected client requests the game listing. /// </summary> /// <param name="options"> /// All options given. /// At this moment, the client can only specify the map, impostor count and chat language. /// </param> private ValueTask OnRequestGameListAsync(GameOptionsData options) { using MessageWriter? message = MessageWriter.Get(MessageType.Reliable); var games = _gameManager.FindListings((MapFlags)options.Map, options.NumImpostors, options.Keywords); Message16GetGameListS2C.Serialize(message, games); return(Connection.SendAsync(message)); }
/// <summary> /// Triggered when the connected client requests the game listing. /// </summary> /// <param name="options"> /// All options given. /// At this moment, the client can only specify the map, impostor count and chat language. /// </param> private ValueTask OnRequestGameListAsync(GameOptionsData options) { using var message = MessageWriter.Get(MessageType.Reliable); var games = _gameManager.FindListings((MapFlags)options.MapId, options.NumImpostors, options.Keywords); var skeldGameCount = _gameManager.GetGameCount(MapFlags.Skeld); var miraHqGameCount = _gameManager.GetGameCount(MapFlags.MiraHQ); var polusGameCount = _gameManager.GetGameCount(MapFlags.Polus); Message16GetGameListS2C.Serialize(message, skeldGameCount, miraHqGameCount, polusGameCount, games); return(Connection.SendAsync(message)); }