Break()
Break the evaluation of a SearchExpression meaning items won't be yielded anymore.
Read time 1 minuteLast updated 12 days ago
Definition
- Type: Method
- Namespace: UnityEditor.Search
- Assembly: UnityEditor
public void Break()
Examples
[SearchExpressionEvaluator(SearchExpressionType.Iterable | SearchExpressionType.Variadic)][SearchExpressionEvaluatorSignatureOverload(SearchExpressionType.Number, SearchExpressionType.Iterable | SearchExpressionType.Variadic)][Description("Extract and returns the X first results for each expression.")]public static IEnumerable<SearchItem> TakeXFirst(SearchExpressionContext c){ var argIndex = 0; var takeNumber = 1; if (c.args[0].types.HasFlag(SearchExpressionType.Number)) { ++argIndex; takeNumber = Math.Max((int)(c.args[0].GetNumberValue(takeNumber)), 0); } for ( ; argIndex < c.args.Length; ++argIndex) { var iterable = c.args[argIndex].Execute(c); var taken = 0; foreach (var item in iterable) { if (item == null) yield return null; else { yield return item; ++taken; if (taken == takeNumber) { c.Break(); break; } } } }}