Задать вопрос
vkvk
@vkvk

Как создавать шаблоны элементов UI Toolkit в своем пакете (Packages) и использовать их в проекте?

Изучаю UI Toolkit и столкнулся с небольшой проблемой: хотел, для начала, сделать кнопку, которая бы изменялась определенным стилем (USS) и являлась в конечном счете UXML файлом, который можно было бы добавлять через UI Builder/Library в любой другой интерфейс в дальнейшем. Если бы мне нужно было сделать это в Assets, то насколько я понял я мог бы просто создать нужный элемент в этой папке. а затем он сразу появился бы в Library/Project/Assets/"название".uxml . Но в случае с реализацией в пакете это так не работает. Обнаружил что если сделать некоторый класс наследуемый от VisualElement и пометить атрибутом [UxmlElement], то он начнет отображаться как мне надо, что в целом логично с этим атрибутом, но как будто выглядит как костыль, ведь по сути в итоге выйдет некоторый класс CustomButton : Button, который наследуется от базовой кнопки и ничего не перезаписывает и не реализует никакой логики.

Собственно сам вопрос - является ли этот способ единственно возможным или есть какое-то более лаконичное и правильное решения этого вопроса? Или создание такой пустышки единственный вариант?

Отсюда сразу же возникает ещё один вопрос: насколько я понимаю если все-таки придется делать так, то нужно будет также реализовывать загрузку шаблона кнопки из, например, AssetDataBase.LoadAssetAtPath() для редакторского интерфейса (насколько понял Resources.Load() потребляет слишком много ресурсов для runtime и не рекомендуется самим Unity), не будет ли это сильно нагружать Unity и пк при кастомных окон и инспекторов с элементами созданными таким путем?
  • Вопрос задан
  • 12 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Профессия Инженер
по тестированию
    10 месяцев
    Далее
  • Нетология
    Разработчик игр на Unity
    13 месяцев
    Далее
  • XYZ School
    Разработка игр на Unity
    5 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы