/// <summary> /// Adds a new delayed action. /// </summary> /// <param name="item">The <see cref="DelayActionItem" /> to add.</param> public static void Add(DelayActionItem item) { Signal.Create( (sender, args) => { var delayActionItem = (DelayActionItem)args.Signal.Properties["DelayActionItem"]; if (delayActionItem.Token.IsCancellationRequested) { return; } delayActionItem.Function(); }, signal => { var delayActionItem = (DelayActionItem)signal.Properties["DelayActionItem"]; return Variables.TickCount >= delayActionItem.Time; }, default(DateTimeOffset), new Dictionary<string, object> { { "DelayActionItem", item } }); }
/// <summary> /// Adds a new delayed action. /// </summary> /// <param name="item">The <see cref="DelayActionItem" /> to add.</param> public static void Add(DelayActionItem item) { Signal.Create( (sender, args) => { var delayActionItem = (DelayActionItem)args.Signal.Properties["DelayActionItem"]; if (delayActionItem.Token.IsCancellationRequested) { return; } delayActionItem.Function(); }, signal => { var delayActionItem = (DelayActionItem)signal.Properties["DelayActionItem"]; return(Variables.TickCount >= delayActionItem.Time); }, default(DateTimeOffset), new Dictionary <string, object> { { "DelayActionItem", item } }); }