Хуки движка
Сгенерированный справочник. Не редактируйте его напрямую. Обновите
BuildTools/NativeExtensionInterface.json, затем выполнитеpython BuildTools/docs_native_extension.py --write.
| Обзор | Роли | Хуки | Биндинги | Канонический JSON | Руководство |
Проект реализует хук, объявляя его как метаданные в исходнике, зарегистрированном во владеющей роли. Обнаружив объявление, кодогенерация исключает реализацию этого хука по умолчанию.
ApplicationInitHook
Проверяет или корректирует настройки запуска приложения после инициализации платформы.
- Стабильный ID:
native-extension.hook.ApplicationInitHook - Роль:
COMMON - Наличие входит в хеш совместимости:
yes - Места вызова: Source/Frontend/ApplicationInit.cpp
FO_BEGIN_NAMESPACE
///@ EngineHook
FO_SCRIPT_API void ApplicationInitHook(AppInitFlags flags, GlobalSettings& settings);
FO_END_NAMESPACE
По умолчанию: Ничего не делает перед продолжением инициализации среды выполнения приложения.
ApplicationShutdownHook
Освобождает принадлежащие проекту общепроцессные сервисы при завершении приложения.
- Стабильный ID:
native-extension.hook.ApplicationShutdownHook - Роль:
COMMON - Наличие входит в хеш совместимости:
no - Места вызова: Source/Applications/ClientApp.cpp, Source/Applications/ClientLib.cpp
FO_BEGIN_NAMESPACE
///@ EngineHook
FO_SCRIPT_API void ApplicationShutdownHook();
FO_END_NAMESPACE
По умолчанию: Ничего не делает во время защищённого завершения клиента или приложения.
ServerInitHook
Инициализирует принадлежащие проекту серверные сервисы и пользовательские данные движка.
- Стабильный ID:
native-extension.hook.ServerInitHook - Роль:
SERVER - Наличие входит в хеш совместимости:
yes - Места вызова: Source/Server/Server.cpp
FO_BEGIN_NAMESPACE
///@ EngineHook
FO_SCRIPT_API void ServerInitHook(ptr<ServerEngine> server);
FO_END_NAMESPACE
По умолчанию: Ничего не делает, и инициализация сервера продолжается.
ClientInitHook
Инициализирует принадлежащие проекту клиентские сервисы и пользовательские данные движка.
- Стабильный ID:
native-extension.hook.ClientInitHook - Роль:
CLIENT - Наличие входит в хеш совместимости:
yes - Места вызова: Source/Client/Client.cpp
FO_BEGIN_NAMESPACE
///@ EngineHook
FO_SCRIPT_API void ClientInitHook(ptr<ClientEngine> client);
FO_END_NAMESPACE
По умолчанию: Ничего не делает, и инициализация клиента продолжается.
ClientStartupSettingsHook
Корректирует настройки запуска отдельного клиента, включая встроенные экземпляры нескольких клиентов.
- Стабильный ID:
native-extension.hook.ClientStartupSettingsHook - Роль:
COMMON - Наличие входит в хеш совместимости:
yes - Места вызова: Source/Applications/ClientApp.cpp, Source/Applications/ServerApp.cpp, Source/Applications/ServerHeadlessApp.cpp
FO_BEGIN_NAMESPACE
///@ EngineHook
FO_SCRIPT_API void ClientStartupSettingsHook(GlobalSettings& settings, int32_t client_index, bool embedded);
FO_END_NAMESPACE
По умолчанию: Ничего не делает перед запуском отдельного или встроенного клиента.
SetupBakersHook
Добавляет принадлежащие проекту запекатели ресурсов, запрошенные активной конфигурацией запекания.
- Стабильный ID:
native-extension.hook.SetupBakersHook - Роль:
BAKER - Наличие входит в хеш совместимости:
yes - Места вызова: Source/Tools/Baker.cpp
FO_BEGIN_NAMESPACE
///@ EngineHook
FO_SCRIPT_API void SetupBakersHook(const_span<string> requested, vector<unique_ptr<BaseBaker>>& bakers, shared_ptr<BakingContext> context);
FO_END_NAMESPACE
По умолчанию: Не регистрирует проектные запекатели.
CheckCritterVisibilityHook
Применяет проектную политику видимости между наблюдателем и целевым криттером.
- Стабильный ID:
native-extension.hook.CheckCritterVisibilityHook - Роль:
SERVER - Наличие входит в хеш совместимости:
yes - Места вызова: Source/Server/MapManager.cpp
FO_BEGIN_NAMESPACE
///@ EngineHook
FO_SCRIPT_API CritterVisibilityMode CheckCritterVisibilityHook(ptr<const ServerEngine> server, ptr<const Map> map, ptr<const Critter> observer, ptr<const Critter> target);
FO_END_NAMESPACE
По умолчанию: Возвращает CritterVisibilityMode::Full.
CheckItemVisibilityHook
Применяет проектную политику видимости между криттером-наблюдателем и предметом на карте.
- Стабильный ID:
native-extension.hook.CheckItemVisibilityHook - Роль:
SERVER - Наличие входит в хеш совместимости:
yes - Места вызова: Source/Server/Critter.cpp
FO_BEGIN_NAMESPACE
///@ EngineHook
FO_SCRIPT_API bool CheckItemVisibilityHook(ptr<const ServerEngine> server, ptr<const Map> map, ptr<const Critter> observer, ptr<const Item> item);
FO_END_NAMESPACE
По умолчанию: Возвращает true.