Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Чтобы создать пользовательский интерфейс из шаблона UXML, необходимо сначала загрузить шаблон в VisualTreeAsset:

var template = EditorGUIUtility.Load("path/to/file.uxml") as VisualTreeAsset;

или точнее:

var template = AssetDatabase.LoadAssetAtPath("path/to/file.uxml");

Затем вы можете построить визуальное дерево, которое это представляет, и прикрепить его к родительскому элементу:

template.CloneTree(parentElement, slots);

В приведенном выше заявлении элемент в шаблоне не преобразуется в VisualElement. Вместо этого все его дочерние элементы присоединяются к элементу, указанному в parentElement.

После создания экземпляра шаблона вы можете получить определенные элементы из дерева визуальных элементов с помощью UQuery: реализации JQuery/Linq в Unity.

Например, в следующем коде показано, как создать новый EditorWindow и загрузить файл UXML в качестве его содержимого:

public class MyWindow : EditorWindow { [MenuItem ("Window/My Window")] public static void ShowWindow () { EditorWindow w = EditorWindow.GetWindow(typeof(MyWindow)); VisualTreeAsset uiAsset = AssetDatabase.LoadAssetAtPath("Assets/MyWindow.uxml"); VisualElement ui = uiAsset.CloneTree(null); w.rootVisualElement.Add(ui); } void OnGUI () { // Nothing to do here, unless you need to also handle IMGUI stuff. } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3