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

UQueryBuilder<T0>

структура в UnityEngine.UIElements

Выполнено в:UnityEngine.UIElementsModule

Описание

Утилита Объект, который конструирует набор правил выбора для запуска на корневом визуальном элементе.

Обобщённый класс, позволяющий строить запросы к элементам интерфейса типа T. Запросы можно уточнять селекторами по имени, классу и другим условиям. Он позволяет искать элементы и выполнять запрос к любому VisualElement, упрощая навигацию и фильтрацию дерева VisualElement в крупных интерфейсах — по типу, имени, классу и условиям иерархии.

Дополнительную информацию см. в Страница инструкции UQuery.

В следующем примере показано, как использовать UQueryBuilder для поиска определенных элементов в иерархии UI и итерации над ними:

using UnityEngine;
using UnityEngine.UIElements;

public class UQueryBuilderExample : MonoBehaviour { public UIDocument uiDocument;

private void OnEnable() { // Get the root visual element var root = uiDocument.rootVisualElement;

// Example query: Find all buttons with a specific class name var buttonQuery = new UQueryBuilder<Button>(root) .Class("my-button-class") .Build();

// Iterate over those buttons and add click handlers buttonQuery.ForEach(button => button.clicked += () => OnButtonClick(button));

// Another query: Find all labels that are descendants of elements with the class "container" var labelQuery = new UQueryBuilder<Label>(root) .Descendents<VisualElement>("container") .Build();

// Change the text color of each label found labelQuery.ForEach(label => label.style.color = Color.green); }

private void OnButtonClick(Button button) { Debug.Log($"Button with name {button.name} clicked."); } }

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

Конструктор Описание
UQueryBuilder_1Инициализирует QueryBuilder.

Открытые методы

Метод Описание
ActiveВыбирает все активные элементы.
AtIndexУдобство перегрузки, сокращение для Build().AtIndex().
BuildКомпиляция правил выбора в объект UQueryState<T0>.
CheckedВыбирает все выбранные элементы.
ChildrenВыбирает все прямые дочерние элементы элементов, соответствующих предыдущим правилам.
Class Выбирает все элементы, у которых в списке классов есть указанный класс, заданный атрибутом class в файле UXML или добавленный методом VisualElement.AddToClassList.
DescendentsРекурсивно выбирает все элементы, которые являются потомками текущих соответствующих предков.
EnabledВыбирает все включенные элементы.
FirstУдобство перегрузки, сокращение для Build().First().
FocusedВыбирает все элементы, находящиеся в фокусе.
ForEachУдобство перегрузки, сокращение для Build().ForEach().
HoveredВыбирает все элементы, находящиеся под курсором.
LastУдобство перегрузки, сокращение для Build().Last().
NameВыбирает элемент с этим именем.
NotActiveВыбирает все неактивные элементы.
NotCheckedВыбирает все элементы, которые не были отмечены.
NotEnabledВыбирает все элементы, которые не включены.
NotFocusedВыбирает все элементы, которые в настоящее время не имеют фокуса.
NotHoveredВыбирает все элементы, не находящиеся в поле зрения.
NotVisibleВыбирает все элементы, которые не видны.
OfTypeВыбирает все элементы указанного Типа (например: Метка, Кнопка, ScrollView и т.д.).
ToListМетод удобства. сокращение для Build().ToList.
VisibleВыбирает все видимые элементы.
WhereВыбирает все элементы, удовлетворяющие предикат.