private void AddStackTraceLoggingMenu(GenericMenu menu) { // TODO: Maybe remove this, because it basically duplicates UI in PlayerSettings foreach (LogType logType in Enum.GetValues(typeof(LogType))) { foreach (StackTraceLogType stackTraceLogType in Enum.GetValues(typeof(StackTraceLogType))) { StackTraceLogTypeData data; data.logType = logType; data.stackTraceLogType = stackTraceLogType; menu.AddItem(EditorGUIUtility.TrTextContent("Stack Trace Logging/" + logType + "/" + stackTraceLogType), PlayerSettings.GetStackTraceLogType(logType) == stackTraceLogType, ToggleLogStackTraces, data); } } int stackTraceLogTypeForAll = (int)PlayerSettings.GetStackTraceLogType(LogType.Log); foreach (LogType logType in Enum.GetValues(typeof(LogType))) { if (PlayerSettings.GetStackTraceLogType(logType) != (StackTraceLogType)stackTraceLogTypeForAll) { stackTraceLogTypeForAll = -1; break; } } foreach (StackTraceLogType stackTraceLogType in Enum.GetValues(typeof(StackTraceLogType))) { menu.AddItem(EditorGUIUtility.TrTextContent("Stack Trace Logging/All/" + stackTraceLogType), (StackTraceLogType)stackTraceLogTypeForAll == stackTraceLogType, ToggleLogStackTracesForAll, stackTraceLogType); } }
private void AddStackTraceLoggingMenu(GenericMenu menu) { IEnumerator enumerator = Enum.GetValues(typeof(LogType)).GetEnumerator(); try { while (enumerator.MoveNext()) { LogType logType = (LogType)enumerator.Current; IEnumerator enumerator2 = Enum.GetValues(typeof(StackTraceLogType)).GetEnumerator(); try { while (enumerator2.MoveNext()) { StackTraceLogType stackTraceLogType = (StackTraceLogType)enumerator2.Current; ConsoleWindow.StackTraceLogTypeData stackTraceLogTypeData; stackTraceLogTypeData.logType = logType; stackTraceLogTypeData.stackTraceLogType = stackTraceLogType; menu.AddItem(new GUIContent(string.Concat(new object[] { "Stack Trace Logging/", logType, "/", stackTraceLogType })), PlayerSettings.GetStackTraceLogType(logType) == stackTraceLogType, new GenericMenu.MenuFunction2(this.ToggleLogStackTraces), stackTraceLogTypeData); } } finally { IDisposable disposable; if ((disposable = (enumerator2 as IDisposable)) != null) { disposable.Dispose(); } } } } finally { IDisposable disposable2; if ((disposable2 = (enumerator as IDisposable)) != null) { disposable2.Dispose(); } } int num = (int)PlayerSettings.GetStackTraceLogType(LogType.Log); IEnumerator enumerator3 = Enum.GetValues(typeof(LogType)).GetEnumerator(); try { while (enumerator3.MoveNext()) { LogType logType2 = (LogType)enumerator3.Current; if (PlayerSettings.GetStackTraceLogType(logType2) != (StackTraceLogType)num) { num = -1; break; } } } finally { IDisposable disposable3; if ((disposable3 = (enumerator3 as IDisposable)) != null) { disposable3.Dispose(); } } IEnumerator enumerator4 = Enum.GetValues(typeof(StackTraceLogType)).GetEnumerator(); try { while (enumerator4.MoveNext()) { StackTraceLogType stackTraceLogType2 = (StackTraceLogType)enumerator4.Current; menu.AddItem(new GUIContent("Stack Trace Logging/All/" + stackTraceLogType2), num == (int)stackTraceLogType2, new GenericMenu.MenuFunction2(this.ToggleLogStackTracesForAll), stackTraceLogType2); } } finally { IDisposable disposable4; if ((disposable4 = (enumerator4 as IDisposable)) != null) { disposable4.Dispose(); } } }