Unity 6.3
0 онлайн 111 гостей 3 в системе
Вход
UI системы Шаг 120 из 317

Создание пользовательского контроля с двумя атрибутами

Версия: 2023.2+

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

Примерный обзор

В этом примере создается пользовательский контроллер под названием MyElement с двумя атрибутами, и он выставляется для UXML и UI Builder. В этом примере также показано, как добавить пользовательский контроллер к UI в UI Builder.

Вы можете найти завершенные файлы, созданные этим примером, в хранилище GitHub.

Предварительные условия

Это руководство предназначено для разработчиков, которые знакомы со скриптами Unity, UI Toolkit и C#. Перед началом работы ознакомьтесь со следующим:

Создание примера

Чтобы создать в C# новый класс пользовательского элемента управления, унаследуйте его от VisualElement класс. Это позволяет создавать и использовать элемент в C#, но не делает его автоматически доступным в UXML и UI Builder. Чтобы сделать его доступным, добавьте UxmlElement атрибут. Чтобы раскрыть атрибуты, добавьте UxmlAttribute атрибут для каждого свойства, которое вы хотите видеть в UXML и UI Builder.

  1. Создайте проект Unity с любым шаблоном.
  2. В папке Assets создайте скрипт C# с именем MyElement.cs со следующим содержанием:
using UnityEngine;
using UnityEngine.UIElements;

[UxmlElement]
partial class MyElement : VisualElement
{
    string _myString = "default_value";
    int _myInt = 2;

    [UxmlAttribute]
    public string myString
    {
        get => _myString;
        set
        {
            _myString = value;
            Debug.Log($"myString set to: {_myString}");
            // React here, e.g. update UI
        }
    }

    [UxmlAttribute]
    public int myInt
    {
        get => _myInt;
        set
        {
            _myInt = value;
            Debug.Log($"myInt set to: {_myInt}");
            // React here, e.g. update UI
        }
    }
}

Создайте UXML, чтобы увидеть атрибут

  1. Создайте файл UXML с любым именем, которое вы хотите.
  2. Дважды щелкните файл UXML, чтобы открыть его в UI Builder.
  3. В разделе Библиотека UI Builder выберите Project > Пользовательские элементы управления (C#) > MyElement.
  4. Перетащите MyElement в окно Hierarchy.
  5. Чтобы увидеть пользовательские атрибуты для MyElement, перейдите на вкладку Inspector в MyElement:
Пользовательские атрибуты для пользовательского элемента управления
Пользовательские атрибуты для пользовательского элемента управления

Дополнительные ресурсы