public bool SelectObject(ISearchContext context,
                                 Action <Object, bool> selectHandler, Action <Object> trackingHandler)
        {
            var selectContext = (ObjectSelectorSearchContext)context;
            var viewFlags     = SearchFlags.OpenPicker;

            if (Utils.IsRunningTests())
            {
                viewFlags |= SearchFlags.Dockable;
            }
            SearchAnalytics.SendEvent(null, SearchAnalytics.GenericEventType.QuickSearchPickerOpens, "", "object", "ObjectSelectorEngine");
            var searchQuery = string.Join(" ", context.requiredTypeNames.Select(tn => tn == null ? "" : $"t:{tn.ToLowerInvariant()}"));

            if (string.IsNullOrEmpty(searchQuery))
            {
                searchQuery = "";
            }
            else
            {
                searchQuery += " ";
            }
            var viewstate = new SearchViewState(
                SearchService.CreateContext(GetObjectSelectorProviders(selectContext), searchQuery, viewFlags), selectHandler, trackingHandler,
                selectContext.requiredTypeNames.First(), selectContext.requiredTypes.First());

            qsWindow = SearchService.ShowPicker(viewstate) as QuickSearch;
            return(qsWindow != null);
        }
Exemple #2
0
        internal void ShowObjectSelector()
        {
            SearchAnalytics.SendEvent(null, SearchAnalytics.GenericEventType.QuickSearchPickerOpens, searchContext.searchText, "object", "objectfield");
            m_OriginalObject = value;
            var searchViewState = new SearchViewState(searchContext, OnSelection, OnObjectChanged, objectType.ToString(), objectType)
            {
                title = $"{objectType.Name}"
            }.SetSearchViewFlags(searchViewFlags);

            SearchService.ShowPicker(searchViewState);
        }
        internal static void OpenScenePicker()
        {
            var searchContext = SearchService.CreateContext(CreateOpenSceneProviders(), string.Empty);

            SearchService.ShowPicker(new SearchViewState(searchContext, OnSceneSelected)
            {
                flags = SearchViewFlags.DisableInspectorPreview |
                        SearchViewFlags.DisableSavedSearchQuery |
                        SearchViewFlags.GridView,
                title           = L10n.Tr("Scenes"),
                excludeNoneItem = true
            });
        }
Exemple #4
0
        public bool SelectObject(ISearchContext context,
                                 Action <Object, bool> selectHandler, Action <Object> trackingHandler)
        {
            var selectContext = (ObjectSelectorSearchContext)context;
            var viewFlags     = SearchFlags.OpenPicker;

            if (Utils.IsRunningTests())
            {
                viewFlags |= SearchFlags.Dockable;
            }
            SearchAnalytics.SendEvent(null, SearchAnalytics.GenericEventType.QuickSearchPickerOpens, "", "object", "ObjectSelectorEngine");
            var viewstate = new SearchViewState(
                SearchService.CreateContext("", viewFlags), selectHandler, trackingHandler,
                selectContext.requiredTypeNames.First(), selectContext.requiredTypes.First());


            qsWindow = SearchService.ShowPicker(viewstate) as QuickSearch;

            return(qsWindow != null);
        }
Exemple #5
0
        static void ShowSearchPicker(SearchContext context, SearchViewFlags searchViewFlags, SerializedProperty property, Object originalObject, int id, Event evt, Type objType)
        {
            s_DelegateWindow = EditorWindow.focusedWindow;
            s_ModalUndoGroup = Undo.GetCurrentGroup();
            s_OriginalItem   = originalObject;
            var searchViewState = new SearchViewState(context,
                                                      (item, canceled) => SendSelectionEvent(item, canceled, id),
                                                      item => SendTrackingEvent(item, id), objType.ToString(), objType)
                                  .SetSearchViewFlags(searchViewFlags);

            if (property != null)
            {
                searchViewState.title = $"{property.displayName} ({objType.Name})";
            }
            SearchAnalytics.SendEvent(null, SearchAnalytics.GenericEventType.QuickSearchPickerOpens, context.searchText, "object", "objectfield");
            SearchService.ShowPicker(searchViewState);

            evt.Use();
            GUIUtility.ExitGUI();
        }