版本:Unity 6 (6000.0)
语言英语
  • C#

SceneQueryEngineFilterAttribute 构造函数

建议更改

成功!

感谢您帮助我们改进 Unity 文档的质量。虽然我们无法接受所有提交的内容,但我们会阅读我们用户提交的每项建议更改,并在合适的地方进行更新。

关闭

提交失败

由于某种原因,您的建议更改无法提交。请在几分钟后重试。感谢您抽出宝贵时间帮助我们改进 Unity 文档的质量。

关闭

取消

声明

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);

参数

令牌 过滤器标识符。通常在过滤器中位于算子前面(例如,"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;
}