// 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.

namespace osu.Game.Online.RealtimeMultiplayer
{
    public enum MultiplayerUserState
    {
        Idle,
        Ready,
        WaitingForLoad,
        Loaded,
        Playing,
        Results,
    }
}

// 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.

namespace osu.Game.Online.RealtimeMultiplayer
{
    public enum MultiplayerUserState
    {
        /// <summary>
        /// The user is idle and waiting for something to happen (or watching the match but not participating).
        /// </summary>
        Idle,

        /// <summary>
        /// The user has marked themselves as ready to participate and should be considered for the next game start.
        /// </summary>
        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>
        WaitingForLoad,

        /// <summary>
        /// The user's client has marked itself as loaded and ready to begin gameplay.
        /// </summary>
        Loaded,

        /// <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>
        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>
        Results,
    }
}

Add missing states and xmldoc for all states' purposes
Add missing states and xmldoc for all states' purposes
