/// <summary> /// Create a new <see cref="Timer"/> instance with <see cref="Timer.Enabled"/> set to true /// and <see cref="Timer.AutoReset"/> set to true. The <see cref="Timer"/> will call the /// provided callback at regular intervals. This method is overridden in tests to return /// a mock object. /// </summary> /// <param name="callback">Event handler to call at regular intervals.</param> /// <param name="intervalInMilliseconds">Time interval at which to call the callback.</param> /// <returns>A <see cref="Timer"/>.</returns> public virtual ITimer NewTimer( ElapsedEventHandler callback, uint intervalInMilliseconds) { var timer = new TimerAdapter { Interval = intervalInMilliseconds, AutoReset = true, Enabled = true }; timer.Elapsed += callback; return(timer); }
public ITimer AddTimer(int interval, ISocket socket) { try { TimerAdapter timer = new TimerAdapter(interval, socket); _poller.Add(timer.Timer); if (_timerDictionary.ContainsKey(socket.ZMQName)) { _timerDictionary.TryUpdate(socket.ZMQName, timer, timer); } else { _timerDictionary.TryAdd(socket.ZMQName, timer); } return(timer); } catch (Exception ex) { throw new NotImplementedException($"AddTimer: ISocket-Name: {socket.ZMQName} ---> {ex.Message}\r\n{ex.StackTrace}\r\n{ex.Source}"); } }
/// <summary> /// Initializes the instance variables of the object. /// (This function is called by Unity automatically) /// </summary> void Start() { var timer = new TimerAdapter(); timer.Interval = (int)(duration * 1000); powerup = new StarPowerup(this, timer); }