public void Dispose() { bool allowReadOrWriteAccess = AtomicSafetyHandle.GetAllowReadOrWriteAccess(this.m_Safety); DisposeSentinel.Dispose(ref this.m_Safety, ref this.m_DisposeSentinel); bool flag = allowReadOrWriteAccess; if (flag) { NavMeshQuery.RemoveQuerySafety(this.m_NavMeshQuery, this.m_Safety); } NavMeshQuery.Destroy(this.m_NavMeshQuery); this.m_NavMeshQuery = IntPtr.Zero; }