ModernUO/Projects/UOContent/Engines/Events/CallbackScheduledEvent.cs

23 lines
739 B
C#

using System;
namespace Server.Engines.Events;
public sealed class CallbackScheduledEvent : ScheduledEvent
{
private readonly Action _callback;
public CallbackScheduledEvent(
TimeOnly time,
Action callback,
IRecurrencePattern recurrencePattern = null
) : base(time, recurrencePattern) => _callback = callback ?? throw new ArgumentNullException(nameof(callback));
public CallbackScheduledEvent(
TimeOnly time,
DateTime endOn,
Action callback,
IRecurrencePattern recurrencePattern = null
) : base(time, endOn, recurrencePattern) => _callback = callback ?? throw new ArgumentNullException(nameof(callback));
public override void OnEvent() => _callback();
}