public void Inspect(PackedManagedObject managedObject) { m_ManagedObject = new RichManagedObject(snapshot, managedObject.managedObjectsArrayIndex); m_ManagedType = m_ManagedObject.type; m_PropertyGrid.Inspect(snapshot, m_ManagedObject.packed); m_DataVisualizer = null; if (AbstractDataVisualizer.HasVisualizer(m_ManagedObject.type.name)) { m_DataVisualizer = AbstractDataVisualizer.CreateVisualizer(m_ManagedObject.type.name); m_DataVisualizer.Initialize(snapshot, new MemoryReader(snapshot), m_ManagedObject.address, m_ManagedObject.type.packed); } m_HexView.Inspect(snapshot, managedObject.address, (ulong)managedObject.size); }
void TryDrawDataVisualizerButton(PropertyGridItem itm, ref Rect rect) { if (!enabled || type.managedTypesArrayIndex == -1) { return; } if (!AbstractDataVisualizer.HasVisualizer(type.name)) { return; } if (GUI.Button(HeEditorGUI.SpaceR(ref rect, rect.height), new GUIContent("", "Show in Data Visualizer."), HeEditorStyles.dataVisualizer)) { var pointer = address; if (type.isPointer) { pointer = myMemoryReader.ReadPointer(address); } DataVisualizerWindow.CreateWindow(m_Snapshot, myMemoryReader, pointer, type); } }