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

Ссылка скопирована
0 ответов

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

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

По вводным: отсюда сразу же возникает ещё один вопрос: насколько я понимаю если все-таки придется делать так, то нужно будет также реализовывать загрузку шаблона кнопки из, например,AssetDataBase.LoadAssetAtPath()По вводным: для редакторского интерфейса (насколько понялResources.Load()Нужно понять: потребляет слишком много ресурсов для runtime и не рекомендуется самим Unity), не будет ли это сильно нагружать Unity и пк при кастомных окон и инспекторов с элементами созданными таким путем?

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно