/// <summary> /// Starts repeatedly calling a javascript function. /// </summary> public int Add(object sender, FunctionInstance fn, int delayMs) { var ie = new IntervalEvent(); ie.Sender = sender; ie.Callback = fn; ie.DelayMsec = delayMs; IntervalEvents.Add(ie); return(ie.ID); }
/// <summary> /// Stops calling a function registered with Add() /// </summary> public void Remove(int id) { foreach (var ie in IntervalEvents) { if (ie.ID == id) { IntervalEvents.Remove(ie); break; } } }
/// <summary> /// Removes all functions registered by a sender. /// </summary> public void RemoveAll(object sender) { var removeList = new List <IntervalEvent>(); foreach (var ie in IntervalEvents) { if (ie.Sender == sender) { removeList.Add(ie); } } foreach (var ie in removeList) { IntervalEvents.Remove(ie); } }