Пример #1
0
 public void Insert(int index, FallBackNode <Tkey, TGenerate> item)
 {
     _innerList.Insert(index, item);
     if (IncOccurance(item.ID) == 1)
     {
         item.OnDetach += RemoveFromList;
     }
 }
Пример #2
0
 public void Add(FallBackNode <Tkey, TGenerate> node)
 {
     _innerList.Add(node);
     if (IncOccurance(node.ID) == 1)
     {
         node.OnDetach += RemoveFromList;
     }
 }
Пример #3
0
        public bool Remove(FallBackNode <Tkey, TGenerate> node)
        {
            if (_innerList.Remove(node))
            {
                if (--_occuranceMap[node.ID] == 0)
                {
                    node.OnDetach -= RemoveFromList;
                }
                return(true);
            }

            return(false);
        }
Пример #4
0
 public int IndexOf(FallBackNode <Tkey, TGenerate> item)
 => _innerList.IndexOf(item);
Пример #5
0
 private void RemoveFromList(FallBackNode <Tkey, TGenerate> node)
 {
     _innerList.RemoveAll(x => x.ID == node.ID);
     OnDetachedNodeRemoved?.Invoke(node);
 }
Пример #6
0
 public bool Contains(FallBackNode <Tkey, TGenerate> item)
 => _innerList.Contains(item);