private void OnGUI() { CheckForClose(); //int nextControlID = GUIUtility.GetControlID(FocusType.Passive) + 1; //Debug.Log(nextControlID); if (!HandleMissingData()) { return; } if (audioCreatorGUI == null) { audioCreatorGUI = new AudioCreatorGUI(this); } isDirty = false; try { DrawTop(topHeight); isDirty |= audioCreatorGUI.OnGUI(LeftWidth, (int)position.height - topHeight); } catch (ExitGUIException e) { throw e; } /*catch (ArgumentException e) * { * throw e; * }*/ catch (Exception e) { if (e.GetType() != typeof(ArgumentException)) { Debug.LogException(e); //While this catch was made to catch persistent errors, like a missing null check, it can also catch other errors EditorGUILayout.BeginVertical(); EditorGUILayout.HelpBox( "An exception is getting caught while trying to draw this window.\nPlease report this bug to InAudio and if possible how to reproduce it", MessageType.Error); EditorGUILayout.TextArea(e.ToString()); EditorGUILayout.EndVertical(); } } if (isDirty) { Repaint(); } PostOnGUI(); }
private void OnEnable() { BaseEnable(); if (audioCreatorGUI == null) { audioCreatorGUI = new AudioCreatorGUI(this); } audioCreatorGUI.OnEnable(); }