1
0
mirror of https://github.com/ppy/osu.git synced 2026-05-26 10:49:57 +08:00
Files
osu-lazer/osu.Game/Online/Matchmaking/IMatchmakingServer.cs
T
Dan Balasescu 8c6818e275 Add models for improvements to matchmaking lobby (#37226)
1. Gives `MatchmakingJoinLobby` parameters.
2. Adds additional data to lobby status update models.

A further PR will build upon (2) to add more data to the queue screen.
2026-04-08 18:43:51 +09:00

60 lines
2.0 KiB
C#

// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
using System.Threading.Tasks;
using osu.Game.Online.Matchmaking.Requests;
using osu.Game.Online.Matchmaking.Responses;
namespace osu.Game.Online.Matchmaking
{
public interface IMatchmakingServer
{
/// <summary>
/// Retrieves all active matchmaking pools.
/// </summary>
/// <param name="type"></param>
Task<MatchmakingPool[]> GetMatchmakingPoolsOfType(MatchmakingPoolType type);
/// <summary>
/// Joins the matchmaking lobby, allowing the local user to receive status updates.
/// </summary>
Task<MatchmakingJoinLobbyResponse> MatchmakingJoinLobbyWithParams(MatchmakingJoinLobbyRequest request);
/// <summary>
/// Leaves the matchmaking lobby.
/// </summary>
Task MatchmakingLeaveLobby();
/// <summary>
/// Joins the matchmaking queue, allowing the local user to get matched up with others.
/// </summary>
Task MatchmakingJoinQueue(int poolId);
/// <summary>
/// Leaves the matchmaking queue.
/// </summary>
Task MatchmakingLeaveQueue();
/// <summary>
/// Accepts a matchmaking room invitation.
/// </summary>
Task MatchmakingAcceptInvitation();
/// <summary>
/// Declines a matchmaking room invitation.
/// </summary>
Task MatchmakingDeclineInvitation();
/// <summary>
/// Raise a candidate playlist item to be played in the current round.
/// </summary>
/// <param name="playlistItemId">The playlist item, or -1 to indicate a random selection.</param>
Task MatchmakingToggleSelection(long playlistItemId);
/// <summary>
/// Debug only - skips to the next stage of the matchmaking room.
/// </summary>
Task MatchmakingSkipToNextStage();
}
}