1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-21 14:43:21 +08:00
osu-lazer/osu.Game/Online/Multiplayer/IMultiplayerLoungeServer.cs

33 lines
1.4 KiB
C#
Raw Normal View History

2020-12-16 11:31:05 +08:00
// 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.
2022-06-17 15:37:17 +08:00
#nullable disable
2020-12-16 11:31:05 +08:00
using System.Threading.Tasks;
2020-12-25 12:38:11 +08:00
namespace osu.Game.Online.Multiplayer
2020-12-16 11:31:05 +08:00
{
/// <summary>
/// Interface for an out-of-room multiplayer server.
/// </summary>
public interface IMultiplayerLoungeServer
{
/// <summary>
/// Request to join a multiplayer room.
/// </summary>
/// <param name="roomId">The databased room ID.</param>
/// <exception cref="InvalidStateException">If the user is already in the requested (or another) room.</exception>
/// <exception cref="InvalidPasswordException">If the room required a password.</exception>
2020-12-16 11:31:05 +08:00
Task<MultiplayerRoom> JoinRoom(long roomId);
/// <summary>
/// Request to join a multiplayer room with a provided password.
/// </summary>
/// <param name="roomId">The databased room ID.</param>
/// <param name="password">The password for the join request.</param>
/// <exception cref="InvalidStateException">If the user is already in the requested (or another) room.</exception>
/// <exception cref="InvalidPasswordException">If the room provided password was incorrect.</exception>
Task<MultiplayerRoom> JoinRoomWithPassword(long roomId, string password);
2020-12-16 11:31:05 +08:00
}
}