| 令牌 | 过滤器标识符。通常在过滤器中位于算子前面(例如,"id" 中的 "id>=2")。 |
| supportedOperators | 受支持的算子令牌列表。所有算子为 Null。 |
| 选项 | 字符串比较选项。 |
| paramTransformerFunction | 与此过滤器一起使用的参数转换器函数的名称。使用适当的 ParameterTransformer 属性对参数转换器函数进行标记。有关更多信息,请参阅 SceneQueryEngineParameterTransformer。 |
使用对应的令牌和受支持的运算符创建过滤器。
以下示例添加了一个新的过滤器函数 dist,可以返回一个对象与一个点之间的距离。此过滤器需要一个 转换器 参数,以将文本转换为一个点。另外,它不支持运算符 "contains" (:)。
[SceneQueryEngineFilter("dist", "DistanceParamHandler", new[] {"=", "!=", "<", ">", "<=", ">="})]
static float DistanceHandler(GameObject go, Vector3 p)
{
return (go.transform.position - p).magnitude;
}