Таблица стилей темы (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:
Создайте один или несколько файлов USS с вашими стилями.
-
Выполните одно из следующих действий:
- Выберите Ассеты > Создать > UI Toolkit > TSS Theme File для создания пустого файла темы и для импорта темы по умолчанию.
- Выберите Ассеты > Создать > UI Toolkit > Default Runtime Theme File для создания копии файла темы runtime по умолчанию. Вы можете переименовать файл, если хотите.
Импортируйте файлы стиля 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
- Выберите ассет TSS.
- Перейдите в окно Inspector > унаследованные темы.
- Выберите +. Это добавит новое поле ссылки.
- Выберите значок списка в поле ссылки. Отобразится выпадающий список со всеми таблицами стилей в вашем проекте.
- Выберите таблицу стилей для использования.
- Выберите Применить.
Импорт темы по умолчанию с правилом @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 для имени пакета.