private static void OnDbgGUI_AnalyseFile(string filename) { NetDebugFile file = m_mapDbgFile[filename]; if (file == null) { file = new NetDebugFile(); file.Open(NetDebuger.DbgFileDir, filename); m_mapDbgFile.Add(filename, file); } for (int i = 0; i < file.ListAllSampleName.Count; i++) { string name = file.ListAllSampleName[i]; GUICurve curve = m_mapCurve[filename + ">" + name]; if (curve == null) { curve = new GUICurve(); curve.state = false; m_mapCurve[filename + ">" + name] = curve; } bool toggle = (bool)curve.state; toggle = GUILayout.Toggle(toggle, name); curve.state = toggle; if (toggle) { OnDbgGUI_ReportFileCurve(curve, file, name); } } }
private static void OnDbgGUI_ProfilerControl() { if (GUILayout.Button("Clear Profiler Cache")) { NetDebuger.ClearSample(); m_dbgFileName = null; } if (string.IsNullOrEmpty(m_dbgFileName)) { m_dbgFileName = GetDefaultFileName(); } GUILayout.Label("Input Profiler FileName:"); m_dbgFileName = GUILayout.TextField(m_dbgFileName); if (GUILayout.Button("Save Profiler File")) { NetDebugFile file = new NetDebugFile(); file.Content.profiler_samples.AddRange(NetDebuger.SampleList); file.Save(NetDebuger.DbgFileDir, m_dbgFileName); NetDebuger.ClearSample(); m_dbgFileName = null; CheckFileList(); } }
private static void OnDbgGUI_ReportFileCurve(GUICurve curve, NetDebugFile file, string sampleName) { if (curve.Length == 0) { List <NetSampleItem> list = file.GetSampleList(sampleName); List <Vector2> listPoints = DoAnalyseBasic(list); curve.AddRangePoint(listPoints); } float minY = curve.MinY; float maxY = curve.MaxY; GUILayout.Label("RangeY:"); GUILayout.BeginHorizontal(); minY = GUILayout.HorizontalSlider(minY, 0, maxY); maxY = GUILayout.HorizontalSlider(maxY, minY, 200); GUILayout.EndHorizontal(); curve.SetRangeY(minY, maxY); curve.DrawLayout(GUILayout.Height(200)); Rect rect = GUILayoutUtility.GetLastRect(); GUI.Label(rect, string.Format("X:[ {0} , {1} ]\nY:[ {2} , {3} ]", curve.MinX, curve.MaxX, curve.MinY, curve.MaxY)); }