protected override void OnDetach() { lock (lck) { RemoveAndDispose(ref modelConstBuffer); storage.ReleaseId(storageId); RemoveAndDispose(ref storage); storageId = -1; IsValid = false; } }
/// <summary> /// /// </summary> /// <param name="disposeManagedResources"></param> protected override void OnDispose(bool disposeManagedResources) { RemoveAndDispose(ref materialCB); RemoveAndDispose(ref nonMaterialCB); storage.ReleaseId(storageId); RemoveAndDispose(ref storage); if (disposeManagedResources) { UpdateNeeded = null; if (material != null) { material.PropertyChanged -= MaterialCore_PropertyChanged; } propertyBindings.Clear(); } base.OnDispose(disposeManagedResources); }