public IPTimedEvent CreateParallelTimer(string name, int timeoutDelay, Dictionary <string, object> args) { IPTimedEvent timedEvent = new IPTimedEvent(name, (double)timeoutDelay); timedEvent.Args = args; timedEvent.OnFire += new IPTimedEvent.TimedEventFireDelegate(OnTimerCB); ParallelTimers.Add(timedEvent); return(timedEvent); }
public IPTimedEvent CreateTimer(string name, int timeoutDelay) { IPTimedEvent timedEvent = GetTimer(name); if (timedEvent == null) { timedEvent = new IPTimedEvent(name, (double)timeoutDelay); timedEvent.OnFire += new IPTimedEvent.TimedEventFireDelegate(OnTimerCB); Timers.Add(name, timedEvent); } return(timedEvent); }
public void KillTimer(string name) { IPTimedEvent timer = GetTimer(name); if (timer == null) { return; } timer.Kill(); Timers.Remove(name); }
/*public void OnTimerCB(IPTimedEvent evt) { * if (Globals.Contains(evt.Name + "Callback")) { * Invoke(evt.Name + "Callback", evt); * } * }*/ public void OnTimerCB(IPTimedEvent evt) { if (Globals.Contains(evt.Name + "Callback")) { try { Engine.Operations.InvokeMember(Class, evt.Name + "Callback", evt); } catch (Microsoft.Scripting.ArgumentTypeException) { this.Invoke(evt.Name + "Callback", new object[0]); } catch (Exception ex) { Fougerite.Logger.LogError(Engine.GetService <ExceptionOperations>().FormatException(ex)); } } }