public override void OnGUI(Rect rect) { int border = 4; int topPadding = 12; int searchHeight = 20; var searchRect = new Rect(border, topPadding, rect.width - border * 2, searchHeight); var remainTop = topPadding + searchHeight + border; var remainingRect = new Rect(border, topPadding + searchHeight + border, rect.width - border * 2, rect.height - remainTop - border); m_CurrentName = m_SearchField.OnGUI(searchRect, m_CurrentName); if (m_Tree == null) { if (m_TreeState == null) { m_TreeState = new TreeViewState(); } m_Tree = new AssetReferenceTreeView(m_TreeState, m_Drawer, this, m_GUID, m_NonAddressedAsset); m_Tree.Reload(); } m_Tree.searchString = m_CurrentName; m_Tree.OnGUI(remainingRect); if (m_ShouldClose) { GUIUtility.hotControl = 0; editorWindow.Close(); } }
public override void OnGUI(Rect rect) { int border = 4; int topPadding = 12; int searchHeight = 20; var searchRect = new Rect(border, topPadding, rect.width - border * 2, searchHeight); var remainTop = topPadding + searchHeight + border; var remainingRect = new Rect(border, topPadding + searchHeight + border, rect.width - border * 2, rect.height - remainTop - border); bool isEnterKeyPressed = Event.current.type == EventType.KeyDown && Event.current.isKey && (Event.current.keyCode == KeyCode.KeypadEnter || Event.current.keyCode == KeyCode.Return); m_CurrentName = m_SearchField.OnGUI(searchRect, m_CurrentName); if (m_Tree == null) { if (m_TreeState == null) { m_TreeState = new TreeViewState(); } m_Tree = new AssetReferenceTreeView(m_TreeState, m_Drawer, this, m_GUID, m_NonAddressedAsset); m_Tree.Reload(); } m_Tree.searchString = m_CurrentName; m_Tree.OnGUI(remainingRect); if (m_ShouldClose || (isEnterKeyPressed && m_OpenedByEnterKey)) { GUIUtility.hotControl = 0; editorWindow.Close(); } }