public void Clear() { m_Snapshot = null; SetTree(null); m_DataVisualizer = null; m_DataVisualizerScrollPos = new Vector2(); }
public void Clear() { m_ManagedObject = RichManagedObject.invalid; m_ManagedType = RichManagedType.invalid; m_PropertyGrid.Clear(); m_HexView.Clear(); m_DataVisualizer = null; }
public void Inspect(RichManagedType managedType) { m_ManagedObject = RichManagedObject.invalid; m_ManagedType = managedType; m_PropertyGrid.InspectStaticType(snapshot, m_ManagedType.packed); m_HexView.Inspect(snapshot, 0, new ArraySegment64 <byte>(managedType.packed.staticFieldBytes, 0, (ulong)managedType.packed.staticFieldBytes.LongLength)); m_DataVisualizer = null; }
void SetVisualizer(AbstractDataVisualizer dataVisualizer) { m_Visualizer = dataVisualizer; if (m_Visualizer == null) { return; } titleContent = new GUIContent(m_Visualizer.title); }
protected override void OnSelectionChanged(TreeViewItem selectedItem) { base.OnSelectionChanged(selectedItem); m_DataVisualizer = null; m_DataVisualizerScrollPos = new Vector2(); var item = selectedItem as PropertyGridItem; if (item != null) { TryCreateDataVisualizer(item.myMemoryReader, item.type, item.address, true); } }
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 TryCreateDataVisualizer(AbstractMemoryReader reader, PackedManagedType type, ulong address, bool resolveAddress) { m_DataVisualizer = null; m_DataVisualizerScrollPos = new Vector2(); //if (AbstractDataVisualizer.HasVisualizer(type.name)) { if (type.isPointer && resolveAddress) { address = reader.ReadPointer(address); } m_DataVisualizer = AbstractDataVisualizer.CreateVisualizer(type.name); m_DataVisualizer.Initialize(m_Snapshot, reader, address, type); } }
public static EditorWindow CreateWindow(PackedMemorySnapshot snapshot, AbstractMemoryReader memoryReader, System.UInt64 address, PackedManagedType type) { var visualizer = AbstractDataVisualizer.CreateVisualizer(type.name); if (visualizer == null) { Debug.LogWarningFormat("Could not create DataVisualizer for type '{0}'", type.name); return(null); } visualizer.Initialize(snapshot, memoryReader, address, type); var window = DataVisualizerWindow.CreateInstance <DataVisualizerWindow>(); window.SetVisualizer(visualizer); window.ShowUtility(); return(window); }
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); } }