public override ObjectData GetObjectData(long row) { if (m_cache == null) { m_cache = new ObjectData[CrawledData.ManagedObjects.Count]; } if (row < 0 || row >= CrawledData.ManagedObjects.Count) { UnityEngine.Debug.Log("GetObjectData out of range"); } if (!m_cache[row].IsValid) { var mo = CrawledData.ManagedObjects[(int)row]; m_cache[row] = ObjectData.FromManagedPointer(Snapshot, mo.PtrObject); } return(m_cache[row]); }