Version: 2023.1

SceneQueryEngineFilterAttributeConstructor

切换到手册
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);

参数

token The identifier of the filter. Typically what precedes the operator in a filter (i.e. "id" in "id>=2").
supportedOperators List of supported operator tokens. Null for all operators.
options String comparison options.
paramTransformerFunction Name of the parameter transformer function to use with this filter. Tag the parameter transformer function with the appropriate ParameterTransformer attribute. See SceneQueryEngineParameterTransformer for more information.

描述

Create a filter with the corresponding token and supported operators.

The following example adds a new filter function dist that returns the distance between an object and a point. This filter needs a parameter transformer to transform the text into a point. Also, it doesn't support the operator "contains" (:).

[SceneQueryEngineFilter("dist", "DistanceParamHandler", new[] {"=", "!=", "<", ">", "<=", ">="})]
static float DistanceHandler(GameObject go, Vector3 p)
{
    return (go.transform.position - p).magnitude;
}