示例#1
0
        /// <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);
        }
示例#2
0
 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);
 }