//Note: parent object needs to call DrawWindow in its OnGUI method. public virtual void DrawWindow() { if (visible) { bool paused = false; if (HighLogic.LoadedSceneIsFlight) { try { paused = PauseMenu.isOpen || FlightResultsDialog.isDisplaying; } catch (Exception) { // ignore the error and assume the pause menu is not open } } if (!paused) { GUI.skin = HighLogic.Skin; ConfigureStyles(); windowPos = WindowUtils.EnsureVisible(windowPos); windowPos = GUILayout.Window(windowId, windowPos, PreDrawWindowContents, WindowTitle, GUILayout.ExpandWidth(true), GUILayout.ExpandHeight(true), GUILayout.MinWidth(64), GUILayout.MinHeight(64)); } } }
//Note: parent object needs to call DrawWindow in its OnGUI method. public virtual void DrawWindow() { if (visible) { bool paused = false; if (HighLogic.LoadedSceneIsFlight) { try { paused = PauseMenu.isOpen || FlightResultsDialog.isDisplaying; } catch (Exception) { // ignore the error and assume the pause menu is not open } } if (!paused) { GUI.skin = HighLogic.Skin; ConfigureStyles(); windowPos = WindowUtils.EnsureVisible(windowPos); windowPos = GUILayout.Window(windowId, windowPos, PreDrawWindowContents, WindowTitle, GUILayout.ExpandWidth(true), GUILayout.ExpandHeight(true), GUILayout.MinWidth(64), GUILayout.MinHeight(64)); } Vector3 mousePosition = Input.mousePosition; if (windowPos.Contains(mousePosition)) { InputLockManager.SetControlLock(ControlTypes.All, kWindowLock + this.windowId); } else { InputLockManager.SetControlLock(ControlTypes.None, kWindowLock + this.windowId); } } }