Example #1
0
 public SearchProcess(IProducer <T> producer, ISelectionPosition position, IConsumer <T> consumer)
 {
     _position = position;
     _budget   = new TimeBudget(5);
     _producer = producer.Produce(consumer, _budget).GetEnumerator();
     EditorApplication.update += Update;
     Update();
 }
Example #2
0
        public ITerminationHandle SetSearchData(ISelectionPosition selectionPosition, IConsumer <ICommand> consumer,
                                                string search)
        {
            if (search.Length > 0)
            {
                var query    = SearchString.Parse(search);
                var commands =
                    CommandRegistry.Instance.Commands.Where(c => StringMatcher.MatchAll(c.SearchPath, query.Base));
                consumer.Consume(commands);
            }

            return(Terminated.Instance);
        }
Example #3
0
        public ITerminationHandle SetSearchData(ISelectionPosition selectionPosition, IConsumer <AssetData> consumer,
                                                string search)
        {
            _filter = search.Trim();
            if (_filter.Length == 0)
            {
                _results.Clear();
                return(null);
            }

            var matcher = SoftStringMatcher.New(_filter);

            _results.SetMatcher(matcher);
            return(new SearchProcess <AssetData>(_results, selectionPosition, consumer));
        }
        ITerminationHandle ISearchLens <GameObject> .SetSearchData(ISelectionPosition selectionPosition,
                                                                   IConsumer <GameObject> consumer, string search)
        {
            if (_searchString == null)
            {
                _objects = new CachedEnumerable <GameObject>(SceneWalker.SceneObjectsDFS(ShouldExploreObject));
            }
            _searchString = search;
            if (search.Length > 0)
            {
                var matcher = SoftStringMatcher.New(search);
                consumer.Consume(_objects.Where(g => matcher.IsMatch(g.name)));
            }

            return(null);
        }
Example #5
0
 ITerminationHandle ISearchLens <string> .SetSearchData(ISelectionPosition selectionPosition, IConsumer <string> consumer, string search)
 {
     consumer.Consume(search.Select(c => c.ToString()));
     return(Terminated.Instance);
 }