private static void ShowWindow(ReUniterMode mode) { if (PreviousWindow != null) { if (PreviousWindow.mode.SearchLabel == mode.SearchLabel) //reusing existing window { return; } PreviousWindow.Close(); } var reUniter = CreateInstance <ReUniterWindow>(); reUniter.wantsMouseMove = true; reUniter.mode = mode; if (mode.MoveWindowMode) { reUniter.minSize = new Vector2(WINDOW_WIDTH, MOVE_WINDOW_HEIGHT); reUniter.maxSize = new Vector2(WINDOW_WIDTH, MOVE_WINDOW_HEIGHT); reUniter.ShowUtility(); reUniter.position = PositionRect(MOVE_WINDOW_HEIGHT); } else { var positionRect = PositionRect(WINDOW_HEIGHT); positionRect.y -= positionRect.height; reUniter.ShowAsDropDown(positionRect, new Vector2(WINDOW_WIDTH, WINDOW_HEIGHT - 1)); } PreviousWindow = reUniter; }
static void RecentItems() { var recentItemsMode = new ReUniterMode { RefreshAction = RefreshRecentItemInfos, SearchLabel = "Enter Recent Item Name:", LoadItem = LoadUnityObjects }; if (PreviousWindow != null && PreviousWindow.mode.SearchLabel == recentItemsMode.SearchLabel) { PreviousWindow.selectAll = false; PreviousWindow.selectedIndex++; PreviousWindow.Repaint(); } else { ShowWindow(recentItemsMode); } }