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(); }
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); }
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); }
ITerminationHandle ISearchLens <string> .SetSearchData(ISelectionPosition selectionPosition, IConsumer <string> consumer, string search) { consumer.Consume(search.Select(c => c.ToString())); return(Terminated.Instance); }