Unity 6.3
0 онлайн 63 гостей 3 в системе
Вход

SceneQueryEngineFilterAttribute

класс в UnityEditor.Search.Providers

Наследуется от:Search.QueryEngineFilterAttribute

Описание

Настраиваемый атрибут используется для настройки поисковой системы, используемой поставщиком поиска сцен.

В этом примере показано, как использовать атрибут SceneQueryEngineFilter для настройки поисковой системы, используемой поставщиком поиска сцен.

Поставщик поиска сцен позволяет пользователю искать объекты сцены с помощью настраиваемых фильтров, таких как is:prefab prefab:modifiedи т.д.

В следующем примере показано, как добавить фильтр свойств lights>=1 для поиска мешей, которые затронуты только одним или несколькими светильниками.

[SceneQueryEngineFilter("lights", new[] { "=", "!=", "<", ">", "<=", ">=" })]
internal static int? MeshRendererAffectedByLightsSceneFilter(GameObject go)
{
    if (!go.TryGetComponent<MeshRenderer>(out var meshRenderer))
        return null;

    if (!meshRenderer.isVisible)
        return null;

    var lightEffectCount = 0;
    var gp = go.transform.position;
    foreach (var light in Object.FindObjectsByType<Light>(FindObjectsSortMode.None))
    {
        if (!light.isActiveAndEnabled)
            continue;

        var lp = light.transform.position;

        var distance = Vector3.Distance(gp, lp);
        if (distance > light.range)
            continue;

        if (light.type == UnityEngine.LightType.Spot)
        {
            var da = Vector3.Dot(light.transform.forward, lp - gp);
            if (da > Mathf.Deg2Rad * light.spotAngle)
                continue;
        }

        lightEffectCount++;
    }

    return lightEffectCount;
}

Конструкторы

Конструктор Описание
SceneQueryEngineFilterAttributeСоздайте фильтр с соответствующим токеном и поддерживаемыми операторами.
Унаследованные члены 1

Свойства

СвойствоОписание
comparisonOptionsПараметры сравнения строк.
overridesStringComparisonФлаг, указывающий на то, что фильтр переопределяет глобальные параметры сравнения строк. Установите в true, когда используется comparisonOptions.
paramTransformerFunctionИмя функции преобразования параметров для использования с этим фильтром. Тег функции преобразования параметров с соответствующим атрибутом ParameterTransformer.
supportedOperatorsСписок поддерживаемых токенов операторов. Null для всех операторов.
tokenИдентификатор фильтра. Обычно это то, что предшествует оператору в фильтре (i.e. "id" в "id>=2").
useParamTransformerФлаг, указывающий, использует ли этот фильтр функцию трансформации параметров. Установите в true, если используется paramTransformerFunction.
useRegularExpressionTokenПоказывает, использует ли фильтр токен регулярного выражения или нет.