Документация
/
Docs/ru/reference/native-extension/roles.md
Роли нативных расширений
Сгенерированный справочник. Не редактируйте его напрямую. Обновите BuildTools/NativeExtensionInterface.json, затем выполните python BuildTools/docs_native_extension.py --write.
Это роли, которые используются текущими целями Engine. Каждый найденный исходник также добавляется в FO_SOURCE_META_FILES до кодогенерации.
| Стабильный ID |
Роль |
Список исходников |
Библиотека |
Основной заголовок |
Потребители |
Скриптовые цели |
Назначение |
native-extension.role.common |
COMMON |
FO_COMMON_SOURCE |
CommonLib |
Common.h |
client, server, mapper, baker, animation-viewer, particle-viewer, ascompiler, tests |
common |
Код, общий для каждой включённой роли движка; используйте только для действительно общих зависимостей и хуков. |
native-extension.role.server |
SERVER |
FO_SERVER_SOURCE |
ServerLib |
Server.h |
server, tests |
server |
Авторитетный серверный код и экспорты в серверные скрипты. |
native-extension.role.client |
CLIENT |
FO_CLIENT_SOURCE |
ClientLib |
Client.h |
client, server, mapper, baker, animation-viewer, particle-viewer, ascompiler, tests |
client, mapper |
Код среды выполнения клиента; пути контроллера сервера, Mapper, оба специализированных просмотрщика, BakerLib и ASCompiler линкуются с ClientLib, но целями экспорта в скрипты являются только клиент и Mapper. |
native-extension.role.mapper |
MAPPER |
FO_MAPPER_SOURCE |
MapperLib |
Mapper.h |
mapper, tests |
mapper |
Нативные инструменты только для Mapper и экспорты в его скрипты. |
native-extension.role.baker |
BAKER |
FO_BAKER_SOURCE |
BakerLib |
Baker.h |
mapper, baker, animation-viewer, particle-viewer, ascompiler, tests |
- |
Расширения запекателя ресурсов, общие для Baker, Mapper, обоих специализированных просмотрщиков и ASCompiler; BAKER не является целью экспорта в скрипты. |
native-extension.role.tests |
TESTS |
FO_TESTS_SOURCE |
UnitTests/Coverage executable |
catch_amalgamated.hpp |
tests, coverage |
- |
Проектные модули трансляции Catch2, компилируемые непосредственно во включённые исполняемые файлы unit-тестов и покрытия; у TESTS нет потребителей среды выполнения и целей экспорта в скрипты. |
Форма регистрации
AddEngineSources(
COMMON SourceExt/CommonExtension.cpp
SERVER SourceExt/ServerExtension.cpp
CLIENT SourceExt/ClientExtension.cpp)
RegisterEngineSources()
Пути и шаблоны разрешаются относительно корня вклада подключающего проекта. Текущий helper не отклоняет неизвестный token роли: он создаёт список FO__SOURCE, но ни одна цель Engine не использует этот список, если роль не описана выше.