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

73 lines
2.8 KiB
C#
Raw Normal View History

2020-12-07 17:50:02 +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-25 12:38:11 +08:00
namespace osu.Game.Online.Multiplayer
2020-12-07 17:50:02 +08:00
{
public enum MultiplayerUserState
{
/// <summary>
/// The user is idle and waiting for something to happen (or watching the match but not participating).
/// </summary>
2020-12-08 14:49:08 +08:00
Idle,
/// <summary>
/// The user has marked themselves as ready to participate and should be considered for the next game start.
/// </summary>
/// <remarks>
/// Clients in this state will receive gameplay channel messages.
/// As a client the only thing to look for in this state is a <see cref="IMultiplayerClient.LoadRequested"/> call.
/// </remarks>
2020-12-07 17:50:02 +08:00
Ready,
/// <summary>
/// The server is waiting for this user to finish loading. This is a reserved state, and is set by the server.
/// </summary>
/// <remarks>
/// All users in <see cref="Ready"/> state when the game start will be transitioned to this state.
/// All users in this state need to transition to <see cref="Loaded"/> before the game can start.
/// </remarks>
2020-12-08 17:02:14 +08:00
WaitingForLoad,
/// <summary>
/// The user has marked itself as loaded, but may still be adjusting settings prior to being ready for gameplay.
/// Players remaining in this state for an extended period of time will be automatically transitioned to the <see cref="Playing"/> state by the server.
/// </summary>
2020-12-08 17:02:14 +08:00
Loaded,
/// <summary>
/// The user has finished adjusting settings and is ready to start gameplay.
/// </summary>
ReadyForGameplay,
/// <summary>
/// The user is currently playing in a game. This is a reserved state, and is set by the server.
/// </summary>
/// <remarks>
/// Once there are no remaining <see cref="WaitingForLoad"/> users, all users in <see cref="Loaded"/> state will be transitioned to this state.
/// At this point the game will start for all users.
/// </remarks>
2020-12-07 17:50:02 +08:00
Playing,
/// <summary>
/// The user has finished playing and is ready to view results.
/// </summary>
/// <remarks>
/// Once all users transition from <see cref="Playing"/> to this state, the game will end and results will be distributed.
/// All users will be transitioned to the <see cref="Results"/> state.
/// </remarks>
FinishedPlay,
/// <summary>
/// The user is currently viewing results. This is a reserved state, and is set by the server.
/// </summary>
2020-12-07 17:50:02 +08:00
Results,
2021-04-06 20:22:28 +08:00
/// <summary>
/// The user is currently spectating this room.
/// </summary>
Spectating
2020-12-07 17:50:02 +08:00
}
}