Unity использует специально оптимизированную библиотеку YAML под названием UnityYAML. Библиотека UnityYAML не поддерживает полную спецификацию YAML. В этой документации описано, какие части спецификации YAML поддерживает UnityYAML.
Вы не можете создавать или редактировать файлы UnityYAML извне.
Поддерживаемые функции
Функция | Поддержка |
---|---|
Mappings | UnityYAML поддерживает как потоковые, так и блочные стили. |
Scalars | UnityYAML поддерживает скаляры с двойными и одинарными кавычками, а также простые скаляры. Вы можете разделить их на несколько строк. Имейте в виду, что многострочные скаляры могут создавать накладные расходы на производительность и память во время синтаксического анализа.
Обычные скаляры, разделенные на несколько строк, должны иметь больший отступ, чем предыдущая строка. См. пример ниже этой таблицы. Вы можете использовать символы UTF–8 в скалярах, но UnityYAML декодирует их, только если они являются частью скаляра с двойными кавычками. |
Sequences | UnityYAML поддерживает сопоставление, стили блоков и последовательности блоков, содержащие сопоставления блоков.. |
Пример отступа на многострочных простых скалярах:
parent: This is a
multi-line scalar
^
|
Если отступа нет, скаляр возвращает Это
и может инициировать дальнейший синтаксический анализ объекта.
Неподдерживаемые функции
Функция | Поддержка |
---|---|
Chomping indicators | UnityYAML не поддерживает использование символов + и | , чтобы указать, как он должен обрабатывать новые строки в многострочной строке. Если вы используете эти символы, UnityYAML добавляет их к скалярному значению. |
Comments | UnityYAML не поддерживает комментарии. |
Complex mapping keys | UnityYAML не поддерживает ключи сложного сопоставления. |
Multiple documents | Средство чтения пропускает префиксы документов и тегов в начале файлов, но не обрабатывает ввод YAML, состоящий из нескольких документов. |
Raw block sequences | Почти все узлы являются частью сопоставления в UnityYAML, поэтому для правильной работы все последовательности должны быть значениями сопоставления. См. пример ниже этой таблицы.
Анонимные последовательности усложняют синтаксический анализатор. Вы не можете использовать отступ как способ определить, завершен ли элемент последовательности в UnityYAML. |
ТегиОпорное слово, которое вы можете назначить одному или нескольким игровым объектам, чтобы помочь вам идентифицировать игровые объекты для целей написания сценариев. Например, вы можете определить тег «Съедобный» для любого предмета, который игрок может съесть в вашей игре. Подробнее См. в Словарь |
UnityYAML не поддерживает теги. |
Пример необработанной последовательности блоков
var:
- 1
- 2
- 3
Последовательность предназначена для поиска в var
, поэтому следующее не работает:
- 1
- 2
- 3