public void AddDependentDescriptor(DescriptorRange descriptor) { if (GetDependentDescriptorIndex(descriptor) != -1) { return; } _dependentDescriptors.Add(descriptor); descriptor.SetDependency(this); }
public void RemoveDependentDescriptor(DescriptorRange descriptor) { var index = GetDependentDescriptorIndex(descriptor); if (index == -1) { return; } _dependentDescriptors.ElementAt(index).ResetDependency(); _dependentDescriptors.RemoveAt(index); }
private int GetDependentDescriptorIndex(DescriptorRange descriptor) { for (var i = 0; i < _dependentDescriptors.Count; i++) { if (descriptor.GetId() == _dependentDescriptors[i].GetId()) { return(i); } } return(-1); }