using System.Threading; namespace Robust.Shared.Timing { /// /// Manages -based timing, allowing you to register new timers with optional cancellation. /// [NotContentImplementable] public interface ITimerManager { /// /// Registers a timer with the manager, which will be executed on the main thread when its duration has /// elapsed. /// /// /// Due to the granularity of the game simulation, the wait time for timers is will (effectively) round to /// the nearest multiple of a tick, as they can only be processed on tick. /// void AddTimer(Timer timer, CancellationToken cancellationToken = default); void UpdateTimers(FrameEventArgs frameEventArgs); } }