// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. namespace osu.Game.Online.Multiplayer { public enum MultiplayerUserState { /// /// The user is idle and waiting for something to happen (or watching the match but not participating). /// Idle, /// /// The user has marked themselves as ready to participate and should be considered for the next game start. /// /// /// Clients in this state will receive gameplay channel messages. /// As a client the only thing to look for in this state is a call. /// Ready, /// /// The server is waiting for this user to finish loading. This is a reserved state, and is set by the server. /// /// /// All users in state when the game start will be transitioned to this state. /// All users in this state need to transition to before the game can start. /// WaitingForLoad, /// /// 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 state by the server. /// Loaded, /// /// The user has finished adjusting settings and is ready to start gameplay. /// ReadyForGameplay, /// /// The user is currently playing in a game. This is a reserved state, and is set by the server. /// /// /// Once there are no remaining users, all users in state will be transitioned to this state. /// At this point the game will start for all users. /// Playing, /// /// The user has finished playing and is ready to view results. /// /// /// Once all users transition from to this state, the game will end and results will be distributed. /// All users will be transitioned to the state. /// FinishedPlay, /// /// The user is currently viewing results. This is a reserved state, and is set by the server. /// Results, /// /// The user is currently spectating this room. /// Spectating } }