Библиотека предназначена для того, чтобы немного упростить жизнь при работе с UIToolkit от Unity.
Всё, что добавелно в этой библиотеке, нацелено на работу как в редакторе так и в игре.
Скачайте репозиторий и поместите его в проект.
Установить библиотеку через Package Manager.
Git URL: https://github.com/Karpiklalloly/UIExtension.git
Расширяет возможности стандартного VisualElement.
Основные возможности:
- ZIndex - позволяет задать порядок отображения элемента. Является простой оболчкой над VisualElement.Sort.
- События на добавление/удаления ребенка.
- Встроенное контекстное меню.
- Хранение всех манипуляторов, которые были добавлены на элемент. Как следствие - возможность получать эти манипуляторы через метод GetManipulator().
- Номинальная автоочистка через OnDispose() в потомках. По-факту, нет 100% рабочей возможности отследить, находится элемент в UI или нет. Потому вызывайте Dispose() вручную, если это необходимо.
Позволяет добавлять линию в UI. Линия является полноценным визуальным элементом.
Позволяет добавлять картинку в UI. Является простой оболочкой над Image.
Является базовым классом для создания узлов графа в Graph. Сам по себе является Miniature с некоторой дополнительной информацией.
Добавляет простую панель вверх родительского элемента.
Является простым способом накидать элементы по заданным координатам. В качестве дополнения можно перемещать детей мышью.
Является готовоым элементом для создания графа.
При добавлении элементов в Grid, они будут додбавляться по сетке (можно задать количество элементов в строке и высоту строки).
Является аналогом Grid. Можно задать размер сетки и makeItem по индексам сетки (x, y). В общем случае, после задания размеров в сетке будут пустые визуальные элементы.
Является готовоым всплывающим окном.
Двигает детей по нажатию заданой кнопки мыши.
Добавляет возможность добавлять контекстное меню.
Добавляет возможность перемещать элементы по экрану по нажатию ЛКМ.
Позволяет легко подписываться на события мыши.
Позволяет перемещать элемент по слотам.
Добавляет Tooltip по наведению выши на элемент.
Позволяет задавать контексты для всплывающих окон. За первым окном добавляет кликабельный задний фон. В большинстве случаев достаточно задать один контекст, на уровне которого будут показывать окна (например, Graph).
Является простой оболочкой над Painter2D.
Добавляет метод расширения для упрощенного биндинга визуального элемента с данными.
В ходе своих разработок мне нужно было сохранять и загружать изображения. Данный модуль является простым сервис-локатором для загрузки изображений по ключу. Также есть возможность подгружать PlaceHolder.
Для унификации работы как с VisualElement так и ExtendedVisualElement добавлены методы расширения
Странно, что изначально нет подобной шняги. Просто немного упрощает синтаксис.
Позволяют легко задать стили.
Добавляет типовые методы расширения для задания стилей (например, Margin, Padding).
Добавляет то, чего мне не хватало.