// Token: 0x06007FEE RID: 32750 private void RenderGUI_List(List <MemoryProfiler.ObjMemDef> mListDef) { this.mScrollViewPos_Stats = GUILayout.BeginScrollView(this.mScrollViewPos_Stats, new GUILayoutOption[] { GUILayout.ExpandHeight(true) }); float lineHeight = GUI.skin.button.lineHeight + (float)GUI.skin.button.margin.top + (float)GUI.skin.button.padding.top + (float)GUI.skin.button.padding.bottom; int viewportStartLine = (int)(this.mScrollViewPos_Stats.y / lineHeight); int viewportEndLine = viewportStartLine + (int)((float)Screen.height / lineHeight); int extraSpacingLines = 0; int renderedLines = 0; TextAnchor alignment = GUI.skin.label.alignment; GUI.skin.label.alignment = TextAnchor.MiddleRight; int count = mListDef.Count; bool doReflect = false; string filterText = ""; string[] reflectPath = null; if (!string.IsNullOrEmpty(this.mFilter_Text)) { doReflect = this.mFilter_Text.EndsWith("@reflect"); if (doReflect) { reflectPath = this.mFilter_Text.Replace("@reflect", "").ToLowerInvariant().Split(new char[] { '.' }, StringSplitOptions.RemoveEmptyEntries); } else { filterText = this.mFilter_Text.ToLowerInvariant(); } } for (int i = 0; i < count; i++) { MemoryProfiler.ObjMemDef objMemDef = mListDef[i]; if (doReflect) { if (objMemDef._Name.ToLowerInvariant().Equals(reflectPath[0]) || objMemDef._ObjType.ToLowerInvariant().Equals(reflectPath[0])) { this.RenderContentInfoRecursive(objMemDef.GetContentInfo(), 0, 20f, ref renderedLines, viewportStartLine, viewportEndLine, ref extraSpacingLines, lineHeight, reflectPath); } } else if ((this.mFilter_ShowDependencies || !objMemDef._IsADependency) && (filterText.Equals("") || objMemDef._Name.ToLowerInvariant().Contains(filterText) || objMemDef._ObjType.ToLowerInvariant().Contains(filterText))) { if (renderedLines > 0 && (renderedLines < viewportStartLine || renderedLines > viewportEndLine)) { extraSpacingLines++; } else { if (extraSpacingLines > 0) { GUILayout.Space((float)extraSpacingLines * lineHeight); extraSpacingLines = 0; } GUILayout.BeginHorizontal(Array.Empty <GUILayoutOption>()); GUILayout.Label((objMemDef._Size < 1048576) ? ((objMemDef._Size / 1024).ToString() + " Kb") : ((objMemDef._Size / 1048576).ToString("0.00") + " Mb"), new GUILayoutOption[] { GUILayout.Width(80f) }); if (GUILayout.Button("reflect on type", new GUILayoutOption[] { GUILayout.ExpandWidth(false) })) { this.mFilter_Text = objMemDef._ObjType + "@reflect"; } if (GUILayout.Button("reflect on name", new GUILayoutOption[] { GUILayout.ExpandWidth(false) })) { this.mFilter_Text = objMemDef._Name + "@reflect"; } if (GUILayout.Button(objMemDef._ObjType, new GUILayoutOption[] { GUILayout.Width(200f) })) { this.mFilter_Text = objMemDef._ObjType; } if (GUILayout.Button(objMemDef._Name, Array.Empty <GUILayoutOption>())) { this.mFilter_Text = objMemDef._Name; } GUILayout.EndHorizontal(); } renderedLines++; } } GUI.skin.label.alignment = alignment; if (extraSpacingLines > 0) { GUILayout.Space((float)extraSpacingLines * lineHeight); } GUILayout.EndScrollView(); }