// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using System.Threading.Tasks; namespace osu.Game.Online.Matchmaking { public interface IMatchmakingClient : IStatefulUserHubClient { /// /// Signals that the local user was placed in the matchmaking queue. /// Task MatchmakingQueueJoined(); /// /// Signals that the local user was removed from the matchmaking queue. /// Task MatchmakingQueueLeft(); /// /// Signals that a match has been found and the local user is invited to it. /// The invitation may be accepted, /// declined, /// or ignored - in which case it will automatically be declined after a short timeout period. /// Task MatchmakingRoomInvited(); /// /// Signals that the matchmaking room is ready to be opened. /// Task MatchmakingRoomReady(long roomId, string password); /// /// The matchmaking lobby status has changed. /// Task MatchmakingLobbyStatusChanged(MatchmakingLobbyStatus status); /// /// The matchmaking status of the current user has changed. /// Task MatchmakingQueueStatusChanged(MatchmakingQueueStatus status); /// /// The user has raised a candidate playlist item to be played. /// Task MatchmakingItemSelected(int userId, long playlistItemId); /// /// The user has removed a candidate playlist item. /// Task MatchmakingItemDeselected(int userId, long playlistItemId); } }