示例#1
0
 public void DeleteLink(ILoItem v)
 {
     _links.Remove(v);
     if (!_links.Any() && _src == null)
     {
         Disposed = true;
         _pl.EnqueuePr(this);
     }
 }
示例#2
0
 public int CompareTo(ILoItem other)
 {
     if (other == null)
     {
         return(-1);
     }
     if (this._layer != other.Layer)
     {
         return(this._layer.CompareTo(other.Layer));
     }
     return(this._owner.path.CompareTo(other.Owner.path));
 }
示例#3
0
        internal void EnqueuePr(ILoItem it)
        {
            int idx = _TaskPr.BinarySearch(it);

            if (idx < 0)
            {
                idx = ~idx;
                if (_curIdx <= idx)
                {
                    _TaskPr.Insert(idx, it);
                }
                else
                {
                    _TaskIn.Enqueue(it);
                }
            }
            else if (_curIdx >= idx)
            {
                _TaskIn.Enqueue(it);
            }
        }
示例#4
0
 public void AddLink(ILoItem v)
 {
     _links.Add(v);
 }
示例#5
0
 internal void EnqueueIn(ILoItem it)
 {
     _TaskIn.Enqueue(it);
 }