protected virtual void DrawItem(MemoryElement memoryElement, ref int row, int indent)
{
bool selected = this.m_MemorySelection.isSelected(memoryElement);
DrawBackground(row, selected);
Rect rect = GenerateRect(row);
rect.x = (4f + (indent * 16f)) - 14f;
Rect position = rect;
position.width = 14f;
if (memoryElement.ChildCount() > 0)
{
memoryElement.expanded = GUI.Toggle(position, memoryElement.expanded, GUIContent.none, styles.foldout);
}
rect.x += 14f;
if (selected)
{
this.m_SelectionOffset = ((float) row) * 16f;
}
if ((Event.current.type == EventType.MouseDown) && rect.Contains(Event.current.mousePosition))
{
this.RowClicked(Event.current, memoryElement);
}
this.DrawData(rect, memoryElement, indent, row, selected);
if (memoryElement.expanded)
{
this.DrawRecursiveData(memoryElement, ref row, indent + 1);
}
}