using System; using System.Collections.Generic; namespace TrueCraft.API.Server { public interface IEventScheduler { HashSet DisabledEvents { get; } /// /// Schedules an event to occur some time in the future. /// /// The subject of the event. If the subject is disposed, the event is cancelled. /// When to trigger the event. /// The event to trigger. void ScheduleEvent(string name, IEventSubject subject, TimeSpan when, Action action); /// /// Triggers all pending scheduled events whose scheduled time has transpired. /// void Update(); } }