Skip to content

Karpiklalloly/UIExtension

Repository files navigation

Karpik.UIExtension

Библиотека предназначена для того, чтобы немного упростить жизнь при работе с UIToolkit от Unity.
Всё, что добавелно в этой библиотеке, нацелено на работу как в редакторе так и в игре.

Установка

Ручная

Скачайте репозиторий и поместите его в проект.

С помощью Package Manager

Установить библиотеку через 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 по наведению выши на элемент.

Механики

Modal

Позволяет задавать контексты для всплывающих окон. За первым окном добавляет кликабельный задний фон. В большинстве случаев достаточно задать один контекст, на уровне которого будут показывать окна (например, Graph).

Painter

Является простой оболочкой над Painter2D.

Добавляет метод расширения для упрощенного биндинга визуального элемента с данными.

Загрузка

В ходе своих разработок мне нужно было сохранять и загружать изображения. Данный модуль является простым сервис-локатором для загрузки изображений по ключу. Также есть возможность подгружать PlaceHolder.

Утилиты

Для унификации работы как с VisualElement так и ExtendedVisualElement добавлены методы расширения

Странно, что изначально нет подобной шняги. Просто немного упрощает синтаксис.

Позволяют легко задать стили.

Добавляет типовые методы расширения для задания стилей (например, Margin, Padding).

Добавляет то, чего мне не хватало.

About

No description or website provided.

Topics

Resources

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE.meta

Stars

Watchers

Forks

Languages