Files
godot-docs-l10n/classes/ru/class_gdextensionmanager.rst

240 lines
12 KiB
ReStructuredText
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

:github_url: hide
.. _class_GDExtensionManager:
GDExtensionManager
==================
**Наследует:** :ref:`Object<class_Object>`
Предоставляет доступ к функционалу GDExtension.
.. rst-class:: classref-introduction-group
Описание
----------------
GDExtensionManager загружает, инициализирует и отслеживает все доступные библиотеки :ref:`GDExtension<class_GDExtension>` в проекте.
\ **Примечание:** Не беспокойтесь о GDExtension, если вы не знаете, что делаете.
.. rst-class:: classref-introduction-group
Обучающие материалы
--------------------------------------
- :doc:`Обзор расширения GDExtension <../tutorials/scripting/gdextension/what_is_gdextension>`
- :doc:`Пример GDExtension на C++ <../tutorials/scripting/cpp/gdextension_cpp_example>`
.. rst-class:: classref-reftable-group
Методы
------------
.. table::
:widths: auto
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`GDExtension<class_GDExtension>` | :ref:`get_extension<class_GDExtensionManager_method_get_extension>`\ (\ path\: :ref:`String<class_String>`\ ) |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_loaded_extensions<class_GDExtensionManager_method_get_loaded_extensions>`\ (\ ) |const| |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_extension_loaded<class_GDExtensionManager_method_is_extension_loaded>`\ (\ path\: :ref:`String<class_String>`\ ) |const| |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`LoadStatus<enum_GDExtensionManager_LoadStatus>` | :ref:`load_extension<class_GDExtensionManager_method_load_extension>`\ (\ path\: :ref:`String<class_String>`\ ) |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`LoadStatus<enum_GDExtensionManager_LoadStatus>` | :ref:`reload_extension<class_GDExtensionManager_method_reload_extension>`\ (\ path\: :ref:`String<class_String>`\ ) |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`LoadStatus<enum_GDExtensionManager_LoadStatus>` | :ref:`unload_extension<class_GDExtensionManager_method_unload_extension>`\ (\ path\: :ref:`String<class_String>`\ ) |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Сигналы
--------------
.. _class_GDExtensionManager_signal_extension_loaded:
.. rst-class:: classref-signal
**extension_loaded**\ (\ extension\: :ref:`GDExtension<class_GDExtension>`\ ) :ref:`🔗<class_GDExtensionManager_signal_extension_loaded>`
Выдается после того, как редактор завершил загрузку нового расширения.
\ **Примечание:** Этот сигнал выдается только в сборках редактора.
.. rst-class:: classref-item-separator
----
.. _class_GDExtensionManager_signal_extension_unloading:
.. rst-class:: classref-signal
**extension_unloading**\ (\ extension\: :ref:`GDExtension<class_GDExtension>`\ ) :ref:`🔗<class_GDExtensionManager_signal_extension_unloading>`
Выдается до того, как редактор начинает выгружать расширение.
\ **Примечание:** Этот сигнал выдается только в сборках редактора.
.. rst-class:: classref-item-separator
----
.. _class_GDExtensionManager_signal_extensions_reloaded:
.. rst-class:: classref-signal
**extensions_reloaded**\ (\ ) :ref:`🔗<class_GDExtensionManager_signal_extensions_reloaded>`
Генерируется после того, как редактор завершил перезагрузку одного или нескольких расширений.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Перечисления
------------------------
.. _enum_GDExtensionManager_LoadStatus:
.. rst-class:: classref-enumeration
enum **LoadStatus**: :ref:`🔗<enum_GDExtensionManager_LoadStatus>`
.. _class_GDExtensionManager_constant_LOAD_STATUS_OK:
.. rst-class:: classref-enumeration-constant
:ref:`LoadStatus<enum_GDExtensionManager_LoadStatus>` **LOAD_STATUS_OK** = ``0``
Расширение успешно загружено.
.. _class_GDExtensionManager_constant_LOAD_STATUS_FAILED:
.. rst-class:: classref-enumeration-constant
:ref:`LoadStatus<enum_GDExtensionManager_LoadStatus>` **LOAD_STATUS_FAILED** = ``1``
Расширение не удалось загрузить, возможно, потому что оно не существует или у него отсутствуют зависимости.
.. _class_GDExtensionManager_constant_LOAD_STATUS_ALREADY_LOADED:
.. rst-class:: classref-enumeration-constant
:ref:`LoadStatus<enum_GDExtensionManager_LoadStatus>` **LOAD_STATUS_ALREADY_LOADED** = ``2``
Расширение уже загружено.
.. _class_GDExtensionManager_constant_LOAD_STATUS_NOT_LOADED:
.. rst-class:: classref-enumeration-constant
:ref:`LoadStatus<enum_GDExtensionManager_LoadStatus>` **LOAD_STATUS_NOT_LOADED** = ``3``
Расширение не загружено.
.. _class_GDExtensionManager_constant_LOAD_STATUS_NEEDS_RESTART:
.. rst-class:: classref-enumeration-constant
:ref:`LoadStatus<enum_GDExtensionManager_LoadStatus>` **LOAD_STATUS_NEEDS_RESTART** = ``4``
Для полной загрузки расширения требуется перезапуск приложения.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описания метода
------------------------------
.. _class_GDExtensionManager_method_get_extension:
.. rst-class:: classref-method
:ref:`GDExtension<class_GDExtension>` **get_extension**\ (\ path\: :ref:`String<class_String>`\ ) :ref:`🔗<class_GDExtensionManager_method_get_extension>`
Возвращает :ref:`GDExtension<class_GDExtension>` для указанного файла ``path`` или ``null``, если он не был загружен или не существует.
.. rst-class:: classref-item-separator
----
.. _class_GDExtensionManager_method_get_loaded_extensions:
.. rst-class:: classref-method
:ref:`PackedStringArray<class_PackedStringArray>` **get_loaded_extensions**\ (\ ) |const| :ref:`🔗<class_GDExtensionManager_method_get_loaded_extensions>`
Возвращает пути к файлам всех загруженных в данный момент расширений.
.. rst-class:: classref-item-separator
----
.. _class_GDExtensionManager_method_is_extension_loaded:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_extension_loaded**\ (\ path\: :ref:`String<class_String>`\ ) |const| :ref:`🔗<class_GDExtensionManager_method_is_extension_loaded>`
Возвращает ``true``, если расширение в указанном файле ``path`` уже было успешно загружено. См. также :ref:`get_loaded_extensions()<class_GDExtensionManager_method_get_loaded_extensions>`.
.. rst-class:: classref-item-separator
----
.. _class_GDExtensionManager_method_load_extension:
.. rst-class:: classref-method
:ref:`LoadStatus<enum_GDExtensionManager_LoadStatus>` **load_extension**\ (\ path\: :ref:`String<class_String>`\ ) :ref:`🔗<class_GDExtensionManager_method_load_extension>`
Загружает расширение по абсолютному пути к файлу. ``Param path`` должен указывать на допустимый :ref:`GDExtension<class_GDExtension>`. Возвращает :ref:`LOAD_STATUS_OK<class_GDExtensionManager_constant_LOAD_STATUS_OK>` в случае успеха.
.. rst-class:: classref-item-separator
----
.. _class_GDExtensionManager_method_reload_extension:
.. rst-class:: classref-method
:ref:`LoadStatus<enum_GDExtensionManager_LoadStatus>` **reload_extension**\ (\ path\: :ref:`String<class_String>`\ ) :ref:`🔗<class_GDExtensionManager_method_reload_extension>`
Перезагружает расширение по указанному пути к файлу. ``Param path`` должен указывать на допустимый :ref:`GDExtension<class_GDExtension>`, в противном случае этот метод может вернуть либо :ref:`LOAD_STATUS_NOT_LOADED<class_GDExtensionManager_constant_LOAD_STATUS_NOT_LOADED>`, либо :ref:`LOAD_STATUS_FAILED<class_GDExtensionManager_constant_LOAD_STATUS_FAILED>`.
\ **Примечание:** Вы можете перезагрузить расширения только в редакторе. В релизных сборках этот метод всегда терпит неудачу и возвращает :ref:`LOAD_STATUS_FAILED<class_GDExtensionManager_constant_LOAD_STATUS_FAILED>`.
.. rst-class:: classref-item-separator
----
.. _class_GDExtensionManager_method_unload_extension:
.. rst-class:: classref-method
:ref:`LoadStatus<enum_GDExtensionManager_LoadStatus>` **unload_extension**\ (\ path\: :ref:`String<class_String>`\ ) :ref:`🔗<class_GDExtensionManager_method_unload_extension>`
Выгружает расширение по пути к файлу. ``Param path`` должен указывать на уже загруженный :ref:`GDExtension<class_GDExtension>`, в противном случае этот метод возвращает :ref:`LOAD_STATUS_NOT_LOADED<class_GDExtensionManager_constant_LOAD_STATUS_NOT_LOADED>`.
.. |virtual| replace:: :abbr:`virtual (Этот метод обычно должен быть переопределен пользователем, чтобы иметь какой-либо эффект.)`
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
.. |const| replace:: :abbr:`const (Этот метод не имеет побочных эффектов. Он не изменяет ни одну из переменных-членов экземпляра.)`
.. |vararg| replace:: :abbr:`vararg (Этот метод принимает любое количество аргументов после описанных здесь.)`
.. |constructor| replace:: :abbr:`constructor (Этот метод используется для создания типа.)`
.. |static| replace:: :abbr:`static (Этот метод не нуждается в вызове экземпляра, поэтому его можно вызвать напрямую, используя имя класса.)`
.. |operator| replace:: :abbr:`operator (Этот метод описывает допустимый оператор для использования с этим типом в качестве левого операнда.)`
.. |bitfield| replace:: :abbr:`BitField (Это значение является целым числом, составленным как битовая маска следующих флагов.)`
.. |void| replace:: :abbr:`void (Нет возвращаемого значения.)`