protected override void OnTick() { if (_list.Count == 0) { Stop(); return; } while (_list.Count > 0 && DateTime.UtcNow > _list[0]._time) { StickyBar s = _list[0]; _list.RemoveAt(0); EraseStickyBar(s._m1, s._m2); EraseStickyBar(s._m2, s._m1); } }
public static void Queue(Mobile m1, Mobile m2) { if (!_enabled || m1 == null || m2 == null) { return; } StickyBar s = Find(m1, m2); s._time = DateTime.UtcNow + _stickyBarDelay; _list.Add(s); if (_list.Count == 1) { _timer.Start(); } }