ReckfellExtension
Ресурс состояния нативной библиотеки расширения.
Для обычной загрузки и выгрузки используйте ReckfellExtensionManager. Объект ресурса можно получить после проверки IsExtensionLoaded и запросить IsLibraryOpen/минимальный уровень инициализации. Создание пустого ресурса само библиотеку не открывает.
В текущем управляемом SDK сохранены три заглушки: OpenLibrary возвращает Unavailable, CloseLibrary и InitializeLibrary ничего не делают. Наличие этих C# методов не означает поддержку соответствующих операций в обычном нативном API. Они не заменяют менеджер.
Удержание ресурса может сохранить библиотеку открытой после удаления записи из реестра. Не вызывайте методы классов уже деинициализированного расширения только потому, что IsLibraryOpen ещё true.
Описание расширения и диагностика.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
ReckfellExtensionКонструктор
public ReckfellExtension();Создаёт ресурс без открытой библиотеки и без регистрации в менеджере. Для обычной загрузки используйте ReckfellExtensionManager.LoadExtension с путём описания.
Методы5
CloseLibraryvoid
public void CloseLibrary();Сохранённая в текущем C# SDK заглушка: вызов ничего не делает и не закрывает библиотеку. Она отсутствует в обычном списке методов текущего нативного класса. Для управляемой выгрузки используйте ReckfellExtensionManager.UnloadExtension.
GetMinimumLibraryInitializationLevelReckfellExtension.InitializationLevel
public ReckfellExtension.InitializationLevel GetMinimumLibraryInitializationLevel();Читает минимальный уровень инициализации из открытой библиотеки. Это не текущий достигнутый уровень и не команда инициализации. Сначала проверьте IsLibraryOpen: у закрытой библиотеки нативная диагностика сопровождается запасным значением Core.
ReckfellExtension.InitializationLevelМинимальный уровень библиотеки. Core у закрытого ресурса — запасное значение после ошибки, не доказательство корректной библиотеки.
InitializeLibraryvoid
public void InitializeLibrary(ReckfellExtension.InitializationLevel level);Сохранённая в текущем C# SDK заглушка: вызов не выполняет инициализацию. Не используйте отсутствие исключения как подтверждение регистрации классов. Жизненным циклом обычного расширения управляет ReckfellExtensionManager.
| Имя | Тип | По умолчанию |
|---|---|---|
level | ReckfellExtension.InitializationLevel | — |
levelПараметр сохранённой SDK-сигнатуры. Текущая заглушка его игнорирует; уровень обычного расширения обрабатывает менеджер.
IsLibraryOpenbool
public bool IsLibraryOpen();Проверяет состояние открытой библиотеки у этого ресурса. Это отличается от наличия пути в реестре менеджера: удерживаемый ресурс может остаться открытым после UnloadExtension. Значение не подтверждает работоспособность каждого API-вызова.
booltrue, если ресурс держит открытый загрузчик библиотеки; false до открытия или после фактического закрытия.
OpenLibraryError
public Error OpenLibrary(string path, string entrySymbol);Сохранённая в текущем C# SDK заглушка: всегда возвращает Error.Unavailable и не загружает библиотеку. Не используйте её как альтернативу менеджеру. Для обычного расширения вызывайте ReckfellExtensionManager.LoadExtension с путём .reckfellextension.
| Имя | Тип | По умолчанию |
|---|---|---|
path | string | — |
entrySymbol | string | — |
pathПараметр сохранённой SDK-сигнатуры. Заглушка игнорирует путь; этот вызов не открывает ни DLL, ни описание расширения.
entrySymbolПараметр сохранённой SDK-сигнатуры. Текущая заглушка не использует его и не ищет символ; задавайте entry_symbol в описании расширения.
ErrorError.Unavailable в проверенной текущей реализации SDK; библиотека не открывается.
ReckfellExtension.InitializationLevel
| Значение | Описание |
|---|---|
Core = 0 | Библиотека инициализируется одновременно с основными функциями движка. |
Editor = 3 | Библиотека инициализируется одновременно с классами редактора движка. Происходит только при загрузке ReckfellExtension в редакторе. |
Scene = 2 | Библиотека инициализируется одновременно с классами движка, связанными со сценой. |
Servers = 1 | Библиотека инициализируется одновременно с серверами движка (например, |