// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using System; using osu.Game.Online.Rooms; namespace osu.Game.Screens.OnlinePlay.Lounge { public interface IOnlinePlayLounge { /// /// Attempts to join the given room. /// /// The room to join. /// The password. /// A delegate to invoke if the user joined the room. /// A delegate to invoke if the user is not able join the room. void Join(Room room, string? password, Action? onSuccess = null, Action? onFailure = null); /// /// Copies the given room and opens it as a fresh (not-yet-created) one. /// /// The room to copy. void OpenCopy(Room room); /// /// Closes the given room. /// /// The room to close. void Close(Room room); } }