Технология патчей в BepInEx позволяет вносить изменения в игровые методы, классы и даже целые сборки без затрагивания оригинальных файлов игры. thunderstore.io
Процесс работы механизма патчей в BepInEx включает следующие шаги: docs.bepinex.dev
- Проверка всех файлов .dll в папке BepInEx/patchers на наличие плагинов-патчей. docs.bepinex.dev Те, которые содержат такие плагины, загружаются как сборки. docs.bepinex.dev
- Создание экземпляра каждого обнаруженного плагина-патча (вызов конструктора). docs.bepinex.dev
- Вызов функции Initialize() для всех плагинов-патчей. docs.bepinex.dev
- Выполнение каждого метода патчей внутри каждого плагина-патча по отношению к целевому типу или сборке. docs.bepinex.dev Любые необработанные исключения записываются в журнал. docs.bepinex.dev
- Вызов функции Finalizer() для всех плагинов-патчей. docs.bepinex.dev
- Выгрузка механизмом патчей всех загруженных объектов AssemblyDefinition и TypeDefinition. docs.bepinex.dev
Для кода, который нужно выполнить один раз, используется метод Initialize(), а для кода, который должен выполнить последний раз, — Finalizer(). docs.bepinex.dev
BepInEx — универсальный загрузчик плагинов для Unity, который позволяет выполнять редактирование сборок .DLL без необходимости вносить изменения на диск. www.nexusmods.com