internal void ApplyAndForget() { if (this.layoutCache != null) { GUILayoutUtility.current = this.layoutCache; GUI.skin = this.skin; Internal_ApplySavedGUIState(this.guiState, this.screenManagerSize); GUIClip.Reapply(); } } }
void MakeModal() { // If we already have modal window up we don't need to setup another modal message loop if (ContainerWindow.s_Modal) { return; } try { ContainerWindow.s_Modal = true; SavedGUIState guiState = SavedGUIState.Create(); // TODO need to promote this outside of UIE UnityEngine.UIElements.EventDispatcher.editorDispatcher.PushDispatcherContext(); Internal_MakeModal(m_Parent.window); UnityEngine.UIElements.EventDispatcher.editorDispatcher.PopDispatcherContext(); guiState.ApplyAndForget(); } finally { ContainerWindow.s_Modal = false; } }