mirror of
https://github.com/godotengine/godot-docs-l10n.git
synced 2026-01-05 14:10:19 +03:00
109 lines
6.8 KiB
ReStructuredText
109 lines
6.8 KiB
ReStructuredText
:github_url: hide
|
||
|
||
.. _class_EditorResourceConversionPlugin:
|
||
|
||
EditorResourceConversionPlugin
|
||
==============================
|
||
|
||
**Наследует:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
|
||
|
||
Плагин для добавления пользовательских преобразователей из одного формата ресурсов в другой в контекстном меню выбора ресурсов редактора; например, преобразование :ref:`StandardMaterial3D<class_StandardMaterial3D>` в :ref:`ShaderMaterial<class_ShaderMaterial>`.
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
Описание
|
||
----------------
|
||
|
||
**EditorResourceConversionPlugin** вызывается, когда контекстное меню вызывается для ресурса в инспекторе редактора. Соответствующие плагины преобразования будут отображаться как пункты меню для преобразования данного ресурса в целевой тип.
|
||
|
||
Ниже показан пример базового плагина, который преобразует :ref:`ImageTexture<class_ImageTexture>` в :ref:`PortableCompressedTexture2D<class_PortableCompressedTexture2D>`.
|
||
|
||
|
||
.. tabs::
|
||
|
||
.. code-tab:: gdscript
|
||
|
||
extends EditorResourceConversionPlugin
|
||
|
||
func _handles(resource: Resource):
|
||
return resource is ImageTexture
|
||
|
||
func _converts_to():
|
||
return "PortableCompressedTexture2D"
|
||
|
||
func _convert(itex: Resource):
|
||
var ptex = PortableCompressedTexture2D.new()
|
||
ptex.create_from_image(itex.get_image(), PortableCompressedTexture2D.COMPRESSION_MODE_LOSSLESS)
|
||
return ptex
|
||
|
||
|
||
|
||
Чтобы использовать **EditorResourceConversionPlugin**, сначала зарегистрируйте его с помощью метода :ref:`EditorPlugin.add_resource_conversion_plugin()<class_EditorPlugin_method_add_resource_conversion_plugin>`.
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
Методы
|
||
------------
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+---------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Resource<class_Resource>` | :ref:`_convert<class_EditorResourceConversionPlugin_private_method__convert>`\ (\ resource\: :ref:`Resource<class_Resource>`\ ) |virtual| |const| |
|
||
+---------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`String<class_String>` | :ref:`_converts_to<class_EditorResourceConversionPlugin_private_method__converts_to>`\ (\ ) |virtual| |const| |
|
||
+---------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`_handles<class_EditorResourceConversionPlugin_private_method__handles>`\ (\ resource\: :ref:`Resource<class_Resource>`\ ) |virtual| |const| |
|
||
+---------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Описания метода
|
||
------------------------------
|
||
|
||
.. _class_EditorResourceConversionPlugin_private_method__convert:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Resource<class_Resource>` **_convert**\ (\ resource\: :ref:`Resource<class_Resource>`\ ) |virtual| |const| :ref:`🔗<class_EditorResourceConversionPlugin_private_method__convert>`
|
||
|
||
Принимает входной :ref:`Resource<class_Resource>` и преобразует его в тип, указанный в :ref:`_converts_to()<class_EditorResourceConversionPlugin_private_method__converts_to>`. Возвращаемый :ref:`Resource<class_Resource>` является результатом преобразования, а входной :ref:`Resource<class_Resource>` остается неизменным.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorResourceConversionPlugin_private_method__converts_to:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`String<class_String>` **_converts_to**\ (\ ) |virtual| |const| :ref:`🔗<class_EditorResourceConversionPlugin_private_method__converts_to>`
|
||
|
||
Возвращает имя класса целевого типа :ref:`Resource<class_Resource>`, в который этот плагин преобразует исходные ресурсы.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorResourceConversionPlugin_private_method__handles:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **_handles**\ (\ resource\: :ref:`Resource<class_Resource>`\ ) |virtual| |const| :ref:`🔗<class_EditorResourceConversionPlugin_private_method__handles>`
|
||
|
||
Вызывается для определения того, может ли данный плагин преобразовать определенный :ref:`Resource<class_Resource>` в целевой тип ресурса.
|
||
|
||
.. |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 (Нет возвращаемого значения.)`
|