// Copyright (c) 2007-2018 ppy Pty Ltd . // Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE using System; using osu.Framework.Configuration; using osu.Game.Online.Multiplayer; using osu.Game.Screens.Multi.Lounge.Components; namespace osu.Game.Screens.Multi { public interface IRoomManager { /// /// Invoked when this requests a to be opened. /// event Action OpenRequested; /// /// All the active s. /// IBindableCollection Rooms { get; } /// /// Creates a new . /// /// The to create. void CreateRoom(Room room); /// /// Joins a . /// /// The to join. must be populated. void JoinRoom(Room room); /// /// Parts the currently-joined . /// void PartRoom(); /// /// Queries for s matching a new . /// /// The to match. void Filter(FilterCriteria criteria); } }