Документация
/
Docs/ru/reference/prototype-format/syntax.md
Синтаксис файлов прототипов
Сгенерированный справочник. Не редактируйте напрямую. Обновите BuildTools/PrototypeFormatInterface.json или владеющие метаданные движка, затем запустите python BuildTools/docs_prototype_format.py --write.
Baking.ProtoFileExtensions выбирает входные файлы. Значения движка по умолчанию: fopro. Встраивающий проект может добавлять расширения, не меняя разбор секций.
Каждый pack создаёт <pack>.fopro-bin-<side> для server, client, mapper. Каждая верхнеуровневая секция [ProtoMap] добавляет прототип Map; вложенные секции размещения на карте пропускаются.
Формы секций
| Стабильный ID |
Синтаксис |
Разрешение |
Значение |
prototype-format.section.proto-entity |
[Proto<Type>] |
Метаданные сущности типа <Type> с HasProtos |
Объявляет прототип встроенного или проектного типа сущности, в метаданных которого включены прототипы. |
prototype-format.section.fixed-type |
[<FixedType>] |
Тип метаданных, объявленный через ///@ FixedType |
Объявляет подобное прототипу фиксированное значение, заданное метаданными встраивающего проекта. |
prototype-format.section.fomap-proto-map |
[ProtoMap] |
Map |
Каждая верхнеуровневая секция ProtoMap объявляет прототип Map. Вложенные секции размещения $Name/Item и $Name/Critter пропускаются ProtoBaker и обрабатываются MapBaker. |
Управляющие директивы
| Стабильный ID |
Синтаксис |
Значение по умолчанию |
Значение |
prototype-format.directive.name |
$Name = <PrototypeId> |
имя исходного файла без расширения |
Задаёт идентичность прототипа внутри разрешённого типа. Миграция ID выполняется до проверки дубликатов. |
prototype-format.directive.parent |
$Parent = <ParentId> [<ParentId> ...] |
без родителей |
Перечисляет через пробел прототипы-родители того же типа. Родители объединяются слева направо, затем применяется дочерний прототип. |
Минимальный пример
[ProtoItem]
$Name = BaseItem
[ProtoItem]
$Name = DerivedItem
$Parent = BaseItem
Тип выбирает секция, а не расширение или каталог. Значения разбирает общий parser конфигурации, включая комментарии #, продолжение строки конечным обратным слешем после пробела или табуляции и синтаксис добавления key += value.