GDExtensionManager

Наследует: Object

Предоставляет доступ к функционалу GDExtension.

Описание

GDExtensionManager загружает, инициализирует и отслеживает все доступные библиотеки GDExtension в проекте.

Примечание: Не беспокойтесь о GDExtension, если вы не знаете, что делаете.

Обучающие материалы

Методы

GDExtension

get_extension(path: String)

PackedStringArray

get_loaded_extensions() const

bool

is_extension_loaded(path: String) const

LoadStatus

load_extension(path: String)

LoadStatus

load_extension_from_function(path: String, init_func: const GDExtensionInitializationFunction*)

LoadStatus

reload_extension(path: String)

LoadStatus

unload_extension(path: String)


Сигналы

extension_loaded(extension: GDExtension) 🔗

Выдается после того, как редактор завершил загрузку нового расширения.

Примечание: Этот сигнал выдается только в сборках редактора.


extension_unloading(extension: GDExtension) 🔗

Выдается до того, как редактор начинает выгружать расширение.

Примечание: Этот сигнал выдается только в сборках редактора.


extensions_reloaded() 🔗

Генерируется после того, как редактор завершил перезагрузку одного или нескольких расширений.


Перечисления

enum LoadStatus: 🔗

LoadStatus LOAD_STATUS_OK = 0

Расширение успешно загружено.

LoadStatus LOAD_STATUS_FAILED = 1

Расширение не удалось загрузить, возможно, потому что оно не существует или у него отсутствуют зависимости.

LoadStatus LOAD_STATUS_ALREADY_LOADED = 2

Расширение уже загружено.

LoadStatus LOAD_STATUS_NOT_LOADED = 3

Расширение не загружено.

LoadStatus LOAD_STATUS_NEEDS_RESTART = 4

Для полной загрузки расширения требуется перезапуск приложения.


Описания метода

GDExtension get_extension(path: String) 🔗

Возвращает GDExtension для указанного файла path или null, если он не был загружен или не существует.


PackedStringArray get_loaded_extensions() const 🔗

Возвращает пути к файлам всех загруженных в данный момент расширений.


bool is_extension_loaded(path: String) const 🔗

Возвращает true, если расширение в указанном файле path уже было успешно загружено. См. также get_loaded_extensions().


LoadStatus load_extension(path: String) 🔗

Загружает расширение по абсолютному пути к файлу. Param path должен указывать на допустимый GDExtension. Возвращает LOAD_STATUS_OK в случае успеха.


LoadStatus load_extension_from_function(path: String, init_func: const GDExtensionInitializationFunction*) 🔗

Загружает расширение, уже находящееся в адресном пространстве, по указанному пути и с помощью функции инициализации. Параметр path должен быть уникальным и начинаться с "libgodot://". В случае успеха возвращает LOAD_STATUS_OK.


LoadStatus reload_extension(path: String) 🔗

Перезагружает расширение по указанному пути к файлу. Param path должен указывать на допустимый GDExtension, в противном случае этот метод может вернуть либо LOAD_STATUS_NOT_LOADED, либо LOAD_STATUS_FAILED.

Примечание: Вы можете перезагрузить расширения только в редакторе. В релизных сборках этот метод всегда терпит неудачу и возвращает LOAD_STATUS_FAILED.


LoadStatus unload_extension(path: String) 🔗

Выгружает расширение по пути к файлу. Param path должен указывать на уже загруженный GDExtension, в противном случае этот метод возвращает LOAD_STATUS_NOT_LOADED.