// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using System; using osu.Framework.Timing; namespace osu.Game.Screens.OnlinePlay.Multiplayer.Spectate { /// /// Manages the synchronisation between one or more s in relation to a master clock. /// public interface ISyncManager { /// /// The master clock which player clocks should synchronise to. /// IAdjustableClock MasterClock { get; } /// /// An event which is invoked when gameplay is ready to start. /// event Action ReadyToStart; /// /// Adds an to manage. /// /// The to add. void AddPlayerClock(ISpectatorPlayerClock clock); /// /// Removes an , stopping it from being managed by this . /// /// The to remove. void RemovePlayerClock(ISpectatorPlayerClock clock); } }