23 lines
739 B
C#
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();
|
|
}
|