Конструктор SceneQueryEngineFilterAttribute
Declaration
public SceneQueryEngineFilterAttribute(string token, string[] supportedOperators);public SceneQueryEngineFilterAttribute(string token, stringComparison options, string[] supportedOperators);public SceneQueryEngineFilterAttribute(string token, string paramTransformerFunction, string[] supportedOperators);public SceneQueryEngineFilterAttribute(string token, string paramTransformerFunction, stringComparison options, string[] supportedOperators);Параметры
| Параметр | Описание |
|---|---|
| знак | Идентификатор фильтра. Обычно это то, что предшествует оператору в фильтре (i.e. "id" в "id>=2"). |
| supportedOperators | Список поддерживаемых токенов операторов. Null для всех операторов. |
| варианты | Параметры сравнения строк. |
| paramTransformerFunction | Имя функции преобразования параметров для использования с этим фильтром. Тег функции преобразования параметров с соответствующим атрибутом ParameterTransformer. Дополнительные сведения см. в SceneQueryEngineParameterTransformer. |
Описание
Создайте фильтр с соответствующим токеном и поддерживаемыми операторами.
В следующем примере добавлена новая функция фильтрации dist, которая возвращает расстояние между объектом и точкой. Этот фильтр требует параметра transformer для преобразования текста в точку. Кроме того, он не поддерживает оператор "contains" (:).
[SceneQueryEngineFilter("dist", "DistanceParamHandler", new[] {"=", "!=", "<", ">", "<=", ">="})]
static float DistanceHandler(GameObject go, Vector3 p)
{
return (go.transform.position - p).magnitude;
}