// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using System.Threading.Tasks; namespace osu.Game.Online.RealtimeMultiplayer { /// /// An interface defining a spectator client instance. /// public interface IMultiplayerClient { /// /// Signals that the room has changed state. /// /// The state of the room. Task RoomStateChanged(MultiplayerRoomState state); /// /// Signals that a user has joined the room. /// /// The user. Task UserJoined(MultiplayerRoomUser user); /// /// Signals that a user has left the room. /// /// The user. Task UserLeft(MultiplayerRoomUser user); /// /// Signals that the settings for this room have changed. /// /// The updated room settings. Task SettingsChanged(MultiplayerRoomSettings newSettings); } }