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

Таблица стилей темы (TSS)

Файлы таблиц стилей темы (TSS) являются обычными файлами USS. UI Toolkit рассматривает TSS как отдельный тип ассета и использует его для целей управления.

Обычный синтаксис и формат USS применяется к файлам TSS, но обычно файл темы содержит ссылки на другие файлы USS через правило @import.

Примечание: файлы USS также поддерживают правило @import.

Создать TSS

Вы можете создавать различные файлы TSS для различных тем и переключаться между ними во время выполнения. Как правило, для стилей следует использовать USS. Рассмотрите TSS, когда вы настраиваете внешний вид для различных платформ или устройств, или когда используете различные шрифты для разных языков, если ваши игры или приложения поддерживают несколько языков.

Примечание: Когда вы добавляете свой первый UIDocument к а GameObject в вашем проекте, он генерирует по умолчанию runtime тема ассета на Assets/UI Toolkit/UnityThemes/UnityDefaultTheme.tss. Хотя вы можете создать TSS с нуля, чтобы получить все стандартные UI для работы, вам необходимо импортировать тему по умолчанию времени выполнения, а затем перезаписать или добавить новые стили для создания вашей пользовательской темы.

Для создания нового TSS:

  1. Создайте один или несколько файлов USS с вашими стилями.

  2. Выполните одно из следующих действий:

    • Выберите Ассеты > Создать > UI Toolkit > TSS Theme File для создания пустого файла темы и для импорта темы по умолчанию.
    • Выберите Ассеты > Создать > UI Toolkit > Default Runtime Theme File для создания копии файла темы runtime по умолчанию. Вы можете переименовать файл, если хотите.
  3. Импортируйте файлы стиля USS в вашу тему.

Предварительный просмотр TSS

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

Применить TSS

Вы можете использовать для ссылки на TSS в UXML или C# так же, как и в USS.

Вы также можете установить TSS в качестве темы по умолчанию для ассета Panel Setting. Если у вас есть несколько Panel Setting, каждый из них может использовать разный файл TSS.

Примечание: Если вы установили TSS для Panel Setting ассета, это не делает TSS глобального стиля для всего проекта. Вам всё равно нужно ссылаться на TSS в UXML или C#.

Импорт темы

Вы можете использовать TSS ассетов Inspector окно или @import правило для импорта темы.

Примечание: Если вы определяете USS переменных или стилей в обоих текущих TSS и импортированной таблицы стилей, текущей TSS переопределяет импортированную таблицу стилей.

Импорт темы в окне Inspector

  1. Выберите ассет TSS.
  2. Перейдите в окно Inspector > унаследованные темы.
  3. Выберите +. Это добавит новое поле ссылки.
  4. Выберите значок списка в поле ссылки. Отобразится выпадающий список со всеми таблицами стилей в вашем проекте.
  5. Выберите таблицу стилей для использования.
  6. Выберите Применить.

Импорт темы по умолчанию с правилом @import

Чтобы импортировать тему времени выполнения по умолчанию Unity, необходимо использовать следующий синтаксис:

@import url("unity-theme://default");

Примечание: Этот URL в этом синтаксисе является особым случаем и он относится к встроенной теме по умолчанию внутри движка. Вы не можете использовать этот синтаксис для любых других тем.

Импорт других тем с правилом @import

Для импорта темы, отличной от темы по умолчанию, или файла USS используйте следующий синтаксис:

@import url("<path-to-file>/<file-name-with-extension>");

Можно использовать относительный или абсолютный путь:

  • Абсолютные пути начинаются с папки проекта Assets и начинаются с / или project://database/. Например, /Assets/myFolder/myFile.uss или project://database/Assets/myFolder/myFile.uss.
  • Относительные пути начинаются с текущего файла и исключают /. Например, ../myFolder/myFile.uss.

Примечание: Чтобы сослаться на файл из пакетов, используйте абсолютный путь файла пакета, начинающийся с Packages папка. Например, /Packages/com.unity.package.name/file-name.uss или project://database/Packages/com.unity.package.name/file-name.uss. вы должны использовать формат com.unity.package.name вместо package name для имени пакета.

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