FOnline Engine
Current master GitHub
Документация Docs/ru/reference/native-extension/hooks.md

Хуки движка

Сгенерированный справочник. Не редактируйте его напрямую. Обновите 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

Освобождает принадлежащие проекту общепроцессные сервисы при завершении приложения.

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

Корректирует настройки запуска отдельного клиента, включая встроенные экземпляры нескольких клиентов.

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.

Введите запрос.