void OnDestroy() { if (m_PanelView == null) { return; } if (m_PanelView.PanelWindow != null) { m_PanelView.EditorWindow = null; m_PanelView.Repaint(); } else { UnityObjectUtils.Destroy(m_PanelView); } }
public void InitWindow(PanelView panelView) { titleContent = new GUIContent(panelView.PanelLabel); panelView.EditorWindow = this; panelView.DrawAsWindow = true; autoRepaintOnSceneChange = panelView.AutoRepaintOnSceneChange; // Force the window to the preferred size before drawing if (panelView.UsePrefSize) { minSize = panelView.PreferredSize; maxSize = panelView.PreferredSize; } else { minSize = panelView.MinSize; maxSize = panelView.MaxSize; } m_PanelView = panelView; Show(); panelView.Repaint(); // After window starts drawing allow for normal min and max sizes if (panelView.UsePrefSize) { minSize = panelView.MinSize; maxSize = panelView.MaxSize; } if (!m_PanelView.PanelPopoutCanScroll) { m_VerticalScrollActive = false; m_HorizontalScrollActive = false; } }