protected override void BeforeDelete() { base.BeforeDelete(); if (RangeChanged != null) { foreach (var handler in RangeChanged.GetInvocationList()) { RangeChanged -= (StorageChanged)handler; } } if (Storage != null && !Storage.Shared && !(this is MyVoxelPhysics)) { Storage.Close(); } }
public virtual void CloseInternal() { using (m_lock.AcquireExclusiveUsing()) { Closed = true; if (RangeChanged != null) { foreach (var handler in RangeChanged.GetInvocationList()) { RangeChanged -= (RangeChangedDelegate)handler; } } if (DataProvider != null) { DataProvider.Close(); } } }
public virtual void CloseInternal() { using (m_storageLock.AcquireExclusiveUsing()) { Closed = true; if (RangeChanged != null) { foreach (var handler in RangeChanged.GetInvocationList()) { RangeChanged -= (RangeChangedDelegate)handler; } } if (DataProvider != null) { DataProvider.Close(); } } if (CachedWrites) { OperationsComponent.Remove(this); } }