예제 #1
0
 public void AddDependentDescriptor(DescriptorRange descriptor)
 {
     if (GetDependentDescriptorIndex(descriptor) != -1)
     {
         return;
     }
     _dependentDescriptors.Add(descriptor);
     descriptor.SetDependency(this);
 }
예제 #2
0
        public void RemoveDependentDescriptor(DescriptorRange descriptor)
        {
            var index = GetDependentDescriptorIndex(descriptor);

            if (index == -1)
            {
                return;
            }
            _dependentDescriptors.ElementAt(index).ResetDependency();
            _dependentDescriptors.RemoveAt(index);
        }
예제 #3
0
 private int GetDependentDescriptorIndex(DescriptorRange descriptor)
 {
     for (var i = 0; i < _dependentDescriptors.Count; i++)
     {
         if (descriptor.GetId() == _dependentDescriptors[i].GetId())
         {
             return(i);
         }
     }
     return(-1);
 }