mirror of
https://github.com/godotengine/godot-docs-l10n.git
synced 2025-12-31 09:49:22 +03:00
1816 lines
126 KiB
ReStructuredText
1816 lines
126 KiB
ReStructuredText
:github_url: hide
|
||
|
||
.. _class_EditorPlugin:
|
||
|
||
EditorPlugin
|
||
============
|
||
|
||
**Наследует:** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
|
||
|
||
**Наследуется от:** :ref:`GridMapEditorPlugin<class_GridMapEditorPlugin>`
|
||
|
||
Используется редактором для расширения его функциональности.
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
Описание
|
||
----------------
|
||
|
||
Плагины используются редактором для расширения функциональности. Наиболее распространенными типами плагинов являются те, которые редактируют заданный узел или тип ресурса, импортируют плагины и экспортируют плагины. См. также :ref:`EditorScript<class_EditorScript>`, чтобы добавить функции в редактор.
|
||
|
||
\ **Примечание:** Некоторые имена в этом классе содержат «left» или «right» (например, :ref:`DOCK_SLOT_LEFT_UL<class_EditorPlugin_constant_DOCK_SLOT_LEFT_UL>`). Эти API предполагают расположение слева направо и будут обратными при использовании расположения справа налево. Эти имена сохранены из соображений совместимости.
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
Обучающие материалы
|
||
--------------------------------------
|
||
|
||
- :doc:`Индекс документации плагинов редактора <../tutorials/plugins/editor/index>`
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
Методы
|
||
------------
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`_apply_changes<class_EditorPlugin_private_method__apply_changes>`\ (\ ) |virtual| |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`_build<class_EditorPlugin_private_method__build>`\ (\ ) |virtual| |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`_clear<class_EditorPlugin_private_method__clear>`\ (\ ) |virtual| |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`_disable_plugin<class_EditorPlugin_private_method__disable_plugin>`\ (\ ) |virtual| |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`_edit<class_EditorPlugin_private_method__edit>`\ (\ object\: :ref:`Object<class_Object>`\ ) |virtual| |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`_enable_plugin<class_EditorPlugin_private_method__enable_plugin>`\ (\ ) |virtual| |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`_forward_3d_draw_over_viewport<class_EditorPlugin_private_method__forward_3d_draw_over_viewport>`\ (\ viewport_control\: :ref:`Control<class_Control>`\ ) |virtual| |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`_forward_3d_force_draw_over_viewport<class_EditorPlugin_private_method__forward_3d_force_draw_over_viewport>`\ (\ viewport_control\: :ref:`Control<class_Control>`\ ) |virtual| |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`_forward_3d_gui_input<class_EditorPlugin_private_method__forward_3d_gui_input>`\ (\ viewport_camera\: :ref:`Camera3D<class_Camera3D>`, event\: :ref:`InputEvent<class_InputEvent>`\ ) |virtual| |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`_forward_canvas_draw_over_viewport<class_EditorPlugin_private_method__forward_canvas_draw_over_viewport>`\ (\ viewport_control\: :ref:`Control<class_Control>`\ ) |virtual| |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`_forward_canvas_force_draw_over_viewport<class_EditorPlugin_private_method__forward_canvas_force_draw_over_viewport>`\ (\ viewport_control\: :ref:`Control<class_Control>`\ ) |virtual| |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`_forward_canvas_gui_input<class_EditorPlugin_private_method__forward_canvas_gui_input>`\ (\ event\: :ref:`InputEvent<class_InputEvent>`\ ) |virtual| |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`_get_breakpoints<class_EditorPlugin_private_method__get_breakpoints>`\ (\ ) |virtual| |const| |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Texture2D<class_Texture2D>` | :ref:`_get_plugin_icon<class_EditorPlugin_private_method__get_plugin_icon>`\ (\ ) |virtual| |const| |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`String<class_String>` | :ref:`_get_plugin_name<class_EditorPlugin_private_method__get_plugin_name>`\ (\ ) |virtual| |const| |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Dictionary<class_Dictionary>` | :ref:`_get_state<class_EditorPlugin_private_method__get_state>`\ (\ ) |virtual| |const| |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`String<class_String>` | :ref:`_get_unsaved_status<class_EditorPlugin_private_method__get_unsaved_status>`\ (\ for_scene\: :ref:`String<class_String>`\ ) |virtual| |const| |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`_get_window_layout<class_EditorPlugin_private_method__get_window_layout>`\ (\ configuration\: :ref:`ConfigFile<class_ConfigFile>`\ ) |virtual| |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`_handles<class_EditorPlugin_private_method__handles>`\ (\ object\: :ref:`Object<class_Object>`\ ) |virtual| |const| |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`_has_main_screen<class_EditorPlugin_private_method__has_main_screen>`\ (\ ) |virtual| |const| |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`_make_visible<class_EditorPlugin_private_method__make_visible>`\ (\ visible\: :ref:`bool<class_bool>`\ ) |virtual| |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`_run_scene<class_EditorPlugin_private_method__run_scene>`\ (\ scene\: :ref:`String<class_String>`, args\: :ref:`PackedStringArray<class_PackedStringArray>`\ ) |virtual| |const| |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`_save_external_data<class_EditorPlugin_private_method__save_external_data>`\ (\ ) |virtual| |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`_set_state<class_EditorPlugin_private_method__set_state>`\ (\ state\: :ref:`Dictionary<class_Dictionary>`\ ) |virtual| |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`_set_window_layout<class_EditorPlugin_private_method__set_window_layout>`\ (\ configuration\: :ref:`ConfigFile<class_ConfigFile>`\ ) |virtual| |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_autoload_singleton<class_EditorPlugin_method_add_autoload_singleton>`\ (\ name\: :ref:`String<class_String>`, path\: :ref:`String<class_String>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_context_menu_plugin<class_EditorPlugin_method_add_context_menu_plugin>`\ (\ slot\: :ref:`ContextMenuSlot<enum_EditorContextMenuPlugin_ContextMenuSlot>`, plugin\: :ref:`EditorContextMenuPlugin<class_EditorContextMenuPlugin>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Button<class_Button>` | :ref:`add_control_to_bottom_panel<class_EditorPlugin_method_add_control_to_bottom_panel>`\ (\ control\: :ref:`Control<class_Control>`, title\: :ref:`String<class_String>`, shortcut\: :ref:`Shortcut<class_Shortcut>` = null\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_control_to_container<class_EditorPlugin_method_add_control_to_container>`\ (\ container\: :ref:`CustomControlContainer<enum_EditorPlugin_CustomControlContainer>`, control\: :ref:`Control<class_Control>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_control_to_dock<class_EditorPlugin_method_add_control_to_dock>`\ (\ slot\: :ref:`DockSlot<enum_EditorPlugin_DockSlot>`, control\: :ref:`Control<class_Control>`, shortcut\: :ref:`Shortcut<class_Shortcut>` = null\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_custom_type<class_EditorPlugin_method_add_custom_type>`\ (\ type\: :ref:`String<class_String>`, base\: :ref:`String<class_String>`, script\: :ref:`Script<class_Script>`, icon\: :ref:`Texture2D<class_Texture2D>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_debugger_plugin<class_EditorPlugin_method_add_debugger_plugin>`\ (\ script\: :ref:`EditorDebuggerPlugin<class_EditorDebuggerPlugin>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_dock<class_EditorPlugin_method_add_dock>`\ (\ dock\: :ref:`EditorDock<class_EditorDock>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_export_platform<class_EditorPlugin_method_add_export_platform>`\ (\ platform\: :ref:`EditorExportPlatform<class_EditorExportPlatform>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_export_plugin<class_EditorPlugin_method_add_export_plugin>`\ (\ plugin\: :ref:`EditorExportPlugin<class_EditorExportPlugin>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_import_plugin<class_EditorPlugin_method_add_import_plugin>`\ (\ importer\: :ref:`EditorImportPlugin<class_EditorImportPlugin>`, first_priority\: :ref:`bool<class_bool>` = false\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_inspector_plugin<class_EditorPlugin_method_add_inspector_plugin>`\ (\ plugin\: :ref:`EditorInspectorPlugin<class_EditorInspectorPlugin>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_node_3d_gizmo_plugin<class_EditorPlugin_method_add_node_3d_gizmo_plugin>`\ (\ plugin\: :ref:`EditorNode3DGizmoPlugin<class_EditorNode3DGizmoPlugin>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_resource_conversion_plugin<class_EditorPlugin_method_add_resource_conversion_plugin>`\ (\ plugin\: :ref:`EditorResourceConversionPlugin<class_EditorResourceConversionPlugin>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_scene_format_importer_plugin<class_EditorPlugin_method_add_scene_format_importer_plugin>`\ (\ scene_format_importer\: :ref:`EditorSceneFormatImporter<class_EditorSceneFormatImporter>`, first_priority\: :ref:`bool<class_bool>` = false\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_scene_post_import_plugin<class_EditorPlugin_method_add_scene_post_import_plugin>`\ (\ scene_import_plugin\: :ref:`EditorScenePostImportPlugin<class_EditorScenePostImportPlugin>`, first_priority\: :ref:`bool<class_bool>` = false\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_tool_menu_item<class_EditorPlugin_method_add_tool_menu_item>`\ (\ name\: :ref:`String<class_String>`, callable\: :ref:`Callable<class_Callable>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_tool_submenu_item<class_EditorPlugin_method_add_tool_submenu_item>`\ (\ name\: :ref:`String<class_String>`, submenu\: :ref:`PopupMenu<class_PopupMenu>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_translation_parser_plugin<class_EditorPlugin_method_add_translation_parser_plugin>`\ (\ parser\: :ref:`EditorTranslationParserPlugin<class_EditorTranslationParserPlugin>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_undo_redo_inspector_hook_callback<class_EditorPlugin_method_add_undo_redo_inspector_hook_callback>`\ (\ callable\: :ref:`Callable<class_Callable>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`EditorInterface<class_EditorInterface>` | :ref:`get_editor_interface<class_EditorPlugin_method_get_editor_interface>`\ (\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`PopupMenu<class_PopupMenu>` | :ref:`get_export_as_menu<class_EditorPlugin_method_get_export_as_menu>`\ (\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`String<class_String>` | :ref:`get_plugin_version<class_EditorPlugin_method_get_plugin_version>`\ (\ ) |const| |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`ScriptCreateDialog<class_ScriptCreateDialog>` | :ref:`get_script_create_dialog<class_EditorPlugin_method_get_script_create_dialog>`\ (\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`EditorUndoRedoManager<class_EditorUndoRedoManager>` | :ref:`get_undo_redo<class_EditorPlugin_method_get_undo_redo>`\ (\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`hide_bottom_panel<class_EditorPlugin_method_hide_bottom_panel>`\ (\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`make_bottom_panel_item_visible<class_EditorPlugin_method_make_bottom_panel_item_visible>`\ (\ item\: :ref:`Control<class_Control>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`queue_save_layout<class_EditorPlugin_method_queue_save_layout>`\ (\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`remove_autoload_singleton<class_EditorPlugin_method_remove_autoload_singleton>`\ (\ name\: :ref:`String<class_String>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`remove_context_menu_plugin<class_EditorPlugin_method_remove_context_menu_plugin>`\ (\ plugin\: :ref:`EditorContextMenuPlugin<class_EditorContextMenuPlugin>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`remove_control_from_bottom_panel<class_EditorPlugin_method_remove_control_from_bottom_panel>`\ (\ control\: :ref:`Control<class_Control>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`remove_control_from_container<class_EditorPlugin_method_remove_control_from_container>`\ (\ container\: :ref:`CustomControlContainer<enum_EditorPlugin_CustomControlContainer>`, control\: :ref:`Control<class_Control>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`remove_control_from_docks<class_EditorPlugin_method_remove_control_from_docks>`\ (\ control\: :ref:`Control<class_Control>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`remove_custom_type<class_EditorPlugin_method_remove_custom_type>`\ (\ type\: :ref:`String<class_String>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`remove_debugger_plugin<class_EditorPlugin_method_remove_debugger_plugin>`\ (\ script\: :ref:`EditorDebuggerPlugin<class_EditorDebuggerPlugin>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`remove_dock<class_EditorPlugin_method_remove_dock>`\ (\ dock\: :ref:`EditorDock<class_EditorDock>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`remove_export_platform<class_EditorPlugin_method_remove_export_platform>`\ (\ platform\: :ref:`EditorExportPlatform<class_EditorExportPlatform>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`remove_export_plugin<class_EditorPlugin_method_remove_export_plugin>`\ (\ plugin\: :ref:`EditorExportPlugin<class_EditorExportPlugin>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`remove_import_plugin<class_EditorPlugin_method_remove_import_plugin>`\ (\ importer\: :ref:`EditorImportPlugin<class_EditorImportPlugin>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`remove_inspector_plugin<class_EditorPlugin_method_remove_inspector_plugin>`\ (\ plugin\: :ref:`EditorInspectorPlugin<class_EditorInspectorPlugin>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`remove_node_3d_gizmo_plugin<class_EditorPlugin_method_remove_node_3d_gizmo_plugin>`\ (\ plugin\: :ref:`EditorNode3DGizmoPlugin<class_EditorNode3DGizmoPlugin>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`remove_resource_conversion_plugin<class_EditorPlugin_method_remove_resource_conversion_plugin>`\ (\ plugin\: :ref:`EditorResourceConversionPlugin<class_EditorResourceConversionPlugin>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`remove_scene_format_importer_plugin<class_EditorPlugin_method_remove_scene_format_importer_plugin>`\ (\ scene_format_importer\: :ref:`EditorSceneFormatImporter<class_EditorSceneFormatImporter>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`remove_scene_post_import_plugin<class_EditorPlugin_method_remove_scene_post_import_plugin>`\ (\ scene_import_plugin\: :ref:`EditorScenePostImportPlugin<class_EditorScenePostImportPlugin>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`remove_tool_menu_item<class_EditorPlugin_method_remove_tool_menu_item>`\ (\ name\: :ref:`String<class_String>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`remove_translation_parser_plugin<class_EditorPlugin_method_remove_translation_parser_plugin>`\ (\ parser\: :ref:`EditorTranslationParserPlugin<class_EditorTranslationParserPlugin>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`remove_undo_redo_inspector_hook_callback<class_EditorPlugin_method_remove_undo_redo_inspector_hook_callback>`\ (\ callable\: :ref:`Callable<class_Callable>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_dock_tab_icon<class_EditorPlugin_method_set_dock_tab_icon>`\ (\ control\: :ref:`Control<class_Control>`, icon\: :ref:`Texture2D<class_Texture2D>`\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_force_draw_over_forwarding_enabled<class_EditorPlugin_method_set_force_draw_over_forwarding_enabled>`\ (\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_input_event_forwarding_always_enabled<class_EditorPlugin_method_set_input_event_forwarding_always_enabled>`\ (\ ) |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`update_overlays<class_EditorPlugin_method_update_overlays>`\ (\ ) |const| |
|
||
+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Сигналы
|
||
--------------
|
||
|
||
.. _class_EditorPlugin_signal_main_screen_changed:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**main_screen_changed**\ (\ screen_name\: :ref:`String<class_String>`\ ) :ref:`🔗<class_EditorPlugin_signal_main_screen_changed>`
|
||
|
||
Вызывается, когда пользователь меняет рабочее пространство (**2D**, **3D**, **Script**, **Game**, **AssetLib**). Также работает с пользовательскими экранами, определенными плагинами.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_signal_project_settings_changed:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**project_settings_changed**\ (\ ) :ref:`🔗<class_EditorPlugin_signal_project_settings_changed>`
|
||
|
||
**Устарело:** Use :ref:`ProjectSettings.settings_changed<class_ProjectSettings_signal_settings_changed>` instead.
|
||
|
||
Генерируется при изменении каких-либо настроек проекта.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_signal_resource_saved:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**resource_saved**\ (\ resource\: :ref:`Resource<class_Resource>`\ ) :ref:`🔗<class_EditorPlugin_signal_resource_saved>`
|
||
|
||
Выдается, когда заданный ``resource`` был сохранен на диске. См. также :ref:`scene_saved<class_EditorPlugin_signal_scene_saved>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_signal_scene_changed:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**scene_changed**\ (\ scene_root\: :ref:`Node<class_Node>`\ ) :ref:`🔗<class_EditorPlugin_signal_scene_changed>`
|
||
|
||
Выдается при изменении сцены в редакторе. Аргумент вернет корневой узел сцены, которая только что стала активной. Если эта сцена новая и пустая, аргумент будет ``null``.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_signal_scene_closed:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**scene_closed**\ (\ filepath\: :ref:`String<class_String>`\ ) :ref:`🔗<class_EditorPlugin_signal_scene_closed>`
|
||
|
||
Вызывается, когда пользователь закрывает сцену. Аргумент — путь к файлу закрытой сцены.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_signal_scene_saved:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**scene_saved**\ (\ filepath\: :ref:`String<class_String>`\ ) :ref:`🔗<class_EditorPlugin_signal_scene_saved>`
|
||
|
||
Выдается при сохранении сцены на диске. Аргумент — путь к файлу сохраненной сцены. См. также :ref:`resource_saved<class_EditorPlugin_signal_resource_saved>`.
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Перечисления
|
||
------------------------
|
||
|
||
.. _enum_EditorPlugin_CustomControlContainer:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **CustomControlContainer**: :ref:`🔗<enum_EditorPlugin_CustomControlContainer>`
|
||
|
||
.. _class_EditorPlugin_constant_CONTAINER_TOOLBAR:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CustomControlContainer<enum_EditorPlugin_CustomControlContainer>` **CONTAINER_TOOLBAR** = ``0``
|
||
|
||
Основная панель инструментов редактора, рядом с кнопками воспроизведения.
|
||
|
||
.. _class_EditorPlugin_constant_CONTAINER_SPATIAL_EDITOR_MENU:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CustomControlContainer<enum_EditorPlugin_CustomControlContainer>` **CONTAINER_SPATIAL_EDITOR_MENU** = ``1``
|
||
|
||
Панель инструментов, которая появляется при активном 3D-редакторе.
|
||
|
||
.. _class_EditorPlugin_constant_CONTAINER_SPATIAL_EDITOR_SIDE_LEFT:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CustomControlContainer<enum_EditorPlugin_CustomControlContainer>` **CONTAINER_SPATIAL_EDITOR_SIDE_LEFT** = ``2``
|
||
|
||
Левая боковая панель 3D-редактора.
|
||
|
||
.. _class_EditorPlugin_constant_CONTAINER_SPATIAL_EDITOR_SIDE_RIGHT:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CustomControlContainer<enum_EditorPlugin_CustomControlContainer>` **CONTAINER_SPATIAL_EDITOR_SIDE_RIGHT** = ``3``
|
||
|
||
Правая боковая панель 3D-редактора.
|
||
|
||
.. _class_EditorPlugin_constant_CONTAINER_SPATIAL_EDITOR_BOTTOM:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CustomControlContainer<enum_EditorPlugin_CustomControlContainer>` **CONTAINER_SPATIAL_EDITOR_BOTTOM** = ``4``
|
||
|
||
Нижняя панель 3D-редактора.
|
||
|
||
.. _class_EditorPlugin_constant_CONTAINER_CANVAS_EDITOR_MENU:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CustomControlContainer<enum_EditorPlugin_CustomControlContainer>` **CONTAINER_CANVAS_EDITOR_MENU** = ``5``
|
||
|
||
Панель инструментов, которая появляется при активном 2D-редакторе.
|
||
|
||
.. _class_EditorPlugin_constant_CONTAINER_CANVAS_EDITOR_SIDE_LEFT:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CustomControlContainer<enum_EditorPlugin_CustomControlContainer>` **CONTAINER_CANVAS_EDITOR_SIDE_LEFT** = ``6``
|
||
|
||
Левая боковая панель 2D-редактора.
|
||
|
||
.. _class_EditorPlugin_constant_CONTAINER_CANVAS_EDITOR_SIDE_RIGHT:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CustomControlContainer<enum_EditorPlugin_CustomControlContainer>` **CONTAINER_CANVAS_EDITOR_SIDE_RIGHT** = ``7``
|
||
|
||
Правая боковая панель 2D-редактора.
|
||
|
||
.. _class_EditorPlugin_constant_CONTAINER_CANVAS_EDITOR_BOTTOM:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CustomControlContainer<enum_EditorPlugin_CustomControlContainer>` **CONTAINER_CANVAS_EDITOR_BOTTOM** = ``8``
|
||
|
||
Нижняя панель 2D-редактора.
|
||
|
||
.. _class_EditorPlugin_constant_CONTAINER_INSPECTOR_BOTTOM:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CustomControlContainer<enum_EditorPlugin_CustomControlContainer>` **CONTAINER_INSPECTOR_BOTTOM** = ``9``
|
||
|
||
Нижняя часть инспектора.
|
||
|
||
.. _class_EditorPlugin_constant_CONTAINER_PROJECT_SETTING_TAB_LEFT:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CustomControlContainer<enum_EditorPlugin_CustomControlContainer>` **CONTAINER_PROJECT_SETTING_TAB_LEFT** = ``10``
|
||
|
||
Вкладка диалогового окна «Параметры проекта», слева от других вкладок.
|
||
|
||
.. _class_EditorPlugin_constant_CONTAINER_PROJECT_SETTING_TAB_RIGHT:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CustomControlContainer<enum_EditorPlugin_CustomControlContainer>` **CONTAINER_PROJECT_SETTING_TAB_RIGHT** = ``11``
|
||
|
||
Вкладка диалогового окна «Параметры проекта», справа от других вкладок.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _enum_EditorPlugin_DockSlot:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **DockSlot**: :ref:`🔗<enum_EditorPlugin_DockSlot>`
|
||
|
||
.. _class_EditorPlugin_constant_DOCK_SLOT_NONE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`DockSlot<enum_EditorPlugin_DockSlot>` **DOCK_SLOT_NONE** = ``-1``
|
||
|
||
The dock is closed.
|
||
|
||
.. _class_EditorPlugin_constant_DOCK_SLOT_LEFT_UL:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`DockSlot<enum_EditorPlugin_DockSlot>` **DOCK_SLOT_LEFT_UL** = ``0``
|
||
|
||
Слот для док-станции, левая сторона, вверху слева (в макете по умолчанию пуст).
|
||
|
||
.. _class_EditorPlugin_constant_DOCK_SLOT_LEFT_BL:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`DockSlot<enum_EditorPlugin_DockSlot>` **DOCK_SLOT_LEFT_BL** = ``1``
|
||
|
||
Слот для док-станции, левая сторона, внизу слева (в макете по умолчанию пуст).
|
||
|
||
.. _class_EditorPlugin_constant_DOCK_SLOT_LEFT_UR:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`DockSlot<enum_EditorPlugin_DockSlot>` **DOCK_SLOT_LEFT_UR** = ``2``
|
||
|
||
Слот док-станции, левая сторона, вверху справа (в макете по умолчанию включены док-станции «Сцена» и «Импорт»).
|
||
|
||
.. _class_EditorPlugin_constant_DOCK_SLOT_LEFT_BR:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`DockSlot<enum_EditorPlugin_DockSlot>` **DOCK_SLOT_LEFT_BR** = ``3``
|
||
|
||
Слот для док-станции, слева, снизу справа (в макете по умолчанию включен док-станция для файловой системы).
|
||
|
||
.. _class_EditorPlugin_constant_DOCK_SLOT_RIGHT_UL:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`DockSlot<enum_EditorPlugin_DockSlot>` **DOCK_SLOT_RIGHT_UL** = ``4``
|
||
|
||
Слот для док-станции, правая сторона, верхний левый угол (в макете по умолчанию включены доки «Инспектор», «Узлы» и «История»).
|
||
|
||
.. _class_EditorPlugin_constant_DOCK_SLOT_RIGHT_BL:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`DockSlot<enum_EditorPlugin_DockSlot>` **DOCK_SLOT_RIGHT_BL** = ``5``
|
||
|
||
Слот для док-станции, правая сторона, левый нижний угол (в макете по умолчанию пуст).
|
||
|
||
.. _class_EditorPlugin_constant_DOCK_SLOT_RIGHT_UR:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`DockSlot<enum_EditorPlugin_DockSlot>` **DOCK_SLOT_RIGHT_UR** = ``6``
|
||
|
||
Слот для док-станции, правая сторона, вверху справа (пустой в макете по умолчанию).
|
||
|
||
.. _class_EditorPlugin_constant_DOCK_SLOT_RIGHT_BR:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`DockSlot<enum_EditorPlugin_DockSlot>` **DOCK_SLOT_RIGHT_BR** = ``7``
|
||
|
||
Слот для док-станции, справа, внизу справа (в макете по умолчанию пуст).
|
||
|
||
.. _class_EditorPlugin_constant_DOCK_SLOT_BOTTOM:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`DockSlot<enum_EditorPlugin_DockSlot>` **DOCK_SLOT_BOTTOM** = ``8``
|
||
|
||
Bottom panel.
|
||
|
||
.. _class_EditorPlugin_constant_DOCK_SLOT_MAX:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`DockSlot<enum_EditorPlugin_DockSlot>` **DOCK_SLOT_MAX** = ``9``
|
||
|
||
Представляет размер перечисления :ref:`DockSlot<enum_EditorPlugin_DockSlot>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _enum_EditorPlugin_AfterGUIInput:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **AfterGUIInput**: :ref:`🔗<enum_EditorPlugin_AfterGUIInput>`
|
||
|
||
.. _class_EditorPlugin_constant_AFTER_GUI_INPUT_PASS:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`AfterGUIInput<enum_EditorPlugin_AfterGUIInput>` **AFTER_GUI_INPUT_PASS** = ``0``
|
||
|
||
Пересылает :ref:`InputEvent<class_InputEvent>` другим EditorPlugins.
|
||
|
||
.. _class_EditorPlugin_constant_AFTER_GUI_INPUT_STOP:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`AfterGUIInput<enum_EditorPlugin_AfterGUIInput>` **AFTER_GUI_INPUT_STOP** = ``1``
|
||
|
||
Предотвращает доступ :ref:`InputEvent<class_InputEvent>` к другим классам редактора.
|
||
|
||
.. _class_EditorPlugin_constant_AFTER_GUI_INPUT_CUSTOM:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`AfterGUIInput<enum_EditorPlugin_AfterGUIInput>` **AFTER_GUI_INPUT_CUSTOM** = ``2``
|
||
|
||
Передайте :ref:`InputEvent<class_InputEvent>` другим плагинам редактора, кроме основного :ref:`Node3D<class_Node3D>`. Это можно использовать для предотвращения изменений выбора узлов и работы с под-gizmos.
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Описания метода
|
||
------------------------------
|
||
|
||
.. _class_EditorPlugin_private_method__apply_changes:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **_apply_changes**\ (\ ) |virtual| :ref:`🔗<class_EditorPlugin_private_method__apply_changes>`
|
||
|
||
Этот метод вызывается, когда редактор собирается сохранить проект, переключиться на другую вкладку и т. д. Он просит плагин применить любые отложенные изменения состояния, чтобы обеспечить согласованность.
|
||
|
||
Это используется, например, в редакторах шейдеров, чтобы дать плагину знать, что он должен применить код шейдера, написанный пользователем, к объекту.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_private_method__build:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **_build**\ (\ ) |virtual| :ref:`🔗<class_EditorPlugin_private_method__build>`
|
||
|
||
Этот метод вызывается, когда редактор собирается запустить проект.
|
||
|
||
Затем плагин может выполнить требуемые операции перед запуском проекта. Этот метод должен возвращать логическое значение. Если этот метод возвращает ``false``, проект не будет запущен. Запуск немедленно прерывается, поэтому это также предотвращает запуск всех методов :ref:`_build()<class_EditorPlugin_private_method__build>` других плагинов.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_private_method__clear:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **_clear**\ (\ ) |virtual| :ref:`🔗<class_EditorPlugin_private_method__clear>`
|
||
|
||
Очистите все состояния и сбросьте редактируемый объект на ноль. Это гарантирует, что ваш плагин не будет продолжать редактировать существующий узел или узел из неправильной сцены.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_private_method__disable_plugin:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **_disable_plugin**\ (\ ) |virtual| :ref:`🔗<class_EditorPlugin_private_method__disable_plugin>`
|
||
|
||
Вызывается движком, когда пользователь отключает **EditorPlugin** на вкладке «Плагин» окна настроек проекта.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_private_method__edit:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **_edit**\ (\ object\: :ref:`Object<class_Object>`\ ) |virtual| :ref:`🔗<class_EditorPlugin_private_method__edit>`
|
||
|
||
Эта функция используется для плагинов, которые редактируют определенные типы объектов (узлы или ресурсы). Она запрашивает редактор для редактирования указанного объекта.
|
||
|
||
\ ``object`` может быть ``null``, если плагин редактировал объект, но больше нет выбранного объекта, обрабатываемого этим плагином. Его можно использовать для очистки состояния редактирования.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_private_method__enable_plugin:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **_enable_plugin**\ (\ ) |virtual| :ref:`🔗<class_EditorPlugin_private_method__enable_plugin>`
|
||
|
||
Вызывается движком, когда пользователь включает **EditorPlugin** на вкладке «Плагин» окна настроек проекта.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_private_method__forward_3d_draw_over_viewport:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **_forward_3d_draw_over_viewport**\ (\ viewport_control\: :ref:`Control<class_Control>`\ ) |virtual| :ref:`🔗<class_EditorPlugin_private_method__forward_3d_draw_over_viewport>`
|
||
|
||
Вызывается движком при обновлении области просмотра 3D-редактора. ``viewport_control`` — это наложение поверх области просмотра, которое можно использовать для рисования. Обновить область просмотра можно вручную, вызвав :ref:`update_overlays()<class_EditorPlugin_method_update_overlays>`.
|
||
|
||
|
||
.. tabs::
|
||
|
||
.. code-tab:: gdscript
|
||
|
||
func _forward_3d_draw_over_viewport(overlay):
|
||
# Нарисуйте круг в месте расположения курсора.
|
||
overlay.draw_circle(overlay.get_local_mouse_position(), 64, Color.WHITE)
|
||
|
||
func _forward_3d_gui_input(camera, event):
|
||
if event is InputEventMouseMotion:
|
||
# Перерисовывать область просмотра при перемещении курсора.
|
||
update_overlays()
|
||
return EditorPlugin.AFTER_GUI_INPUT_STOP
|
||
return EditorPlugin.AFTER_GUI_INPUT_PASS
|
||
|
||
.. code-tab:: csharp
|
||
|
||
public override void _Forward3DDrawOverViewport(Control viewportControl)
|
||
{
|
||
// Нарисуйте круг в месте расположения курсора.
|
||
viewportControl.DrawCircle(viewportControl.GetLocalMousePosition(), 64, Colors.White);
|
||
}
|
||
|
||
public override EditorPlugin.AfterGuiInput _Forward3DGuiInput(Camera3D viewportCamera, InputEvent @event)
|
||
{
|
||
if (@event is InputEventMouseMotion)
|
||
{
|
||
// Перерисовывать область просмотра при перемещении курсора.
|
||
UpdateOverlays();
|
||
return EditorPlugin.AfterGuiInput.Stop;
|
||
}
|
||
return EditorPlugin.AfterGuiInput.Pass;
|
||
}
|
||
|
||
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_private_method__forward_3d_force_draw_over_viewport:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **_forward_3d_force_draw_over_viewport**\ (\ viewport_control\: :ref:`Control<class_Control>`\ ) |virtual| :ref:`🔗<class_EditorPlugin_private_method__forward_3d_force_draw_over_viewport>`
|
||
|
||
Этот метод такой же, как :ref:`_forward_3d_draw_over_viewport()<class_EditorPlugin_private_method__forward_3d_draw_over_viewport>`, за исключением того, что он рисует поверх всего. Полезно, когда вам нужен дополнительный слой, который отображается поверх всего остального.
|
||
|
||
Вам нужно включить вызов этого метода с помощью :ref:`set_force_draw_over_forwarding_enabled()<class_EditorPlugin_method_set_force_draw_over_forwarding_enabled>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_private_method__forward_3d_gui_input:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`int<class_int>` **_forward_3d_gui_input**\ (\ viewport_camera\: :ref:`Camera3D<class_Camera3D>`, event\: :ref:`InputEvent<class_InputEvent>`\ ) |virtual| :ref:`🔗<class_EditorPlugin_private_method__forward_3d_gui_input>`
|
||
|
||
Вызывается, когда в текущей редактируемой сцене есть корневой узел, реализуется :ref:`_handles()<class_EditorPlugin_private_method__handles>`, и в окне 3D-просмотра происходит :ref:`InputEvent<class_InputEvent>`. Возвращаемое значение определяет, будет ли :ref:`InputEvent<class_InputEvent>` использован или перенаправлен другим **EditorPlugin**. См. :ref:`AfterGUIInput<enum_EditorPlugin_AfterGUIInput>` для опций.
|
||
|
||
|
||
.. tabs::
|
||
|
||
.. code-tab:: gdscript
|
||
|
||
# Предотвращает попадание InputEvent в другие классы редактора.
|
||
func _forward_3d_gui_input(camera, event):
|
||
return EditorPlugin.AFTER_GUI_INPUT_STOP
|
||
|
||
.. code-tab:: csharp
|
||
|
||
// Предотвращает попадание InputEvent в другие классы редактора.
|
||
public override EditorPlugin.AfterGuiInput _Forward3DGuiInput(Camera3D camera, InputEvent @event)
|
||
{
|
||
return EditorPlugin.AfterGuiInput.Stop;
|
||
}
|
||
|
||
|
||
|
||
Этот метод должен возвращать :ref:`AFTER_GUI_INPUT_PASS<class_EditorPlugin_constant_AFTER_GUI_INPUT_PASS>` для пересылки :ref:`InputEvent<class_InputEvent>` другим классам редактора.
|
||
|
||
|
||
.. tabs::
|
||
|
||
.. code-tab:: gdscript
|
||
|
||
# Потребляет InputEventMouseMotion и пересылает другие типы InputEvent.
|
||
func _forward_3d_gui_input(camera, event):
|
||
return EditorPlugin.AFTER_GUI_INPUT_STOP if event is InputEventMouseMotion else EditorPlugin.AFTER_GUI_INPUT_PASS
|
||
|
||
.. code-tab:: csharp
|
||
|
||
//Потребляет InputEventMouseMotion и пересылает другие типы InputEvent.
|
||
public override EditorPlugin.AfterGuiInput _Forward3DGuiInput(Camera3D camera, InputEvent @event)
|
||
{
|
||
return @event is InputEventMouseMotion ? EditorPlugin.AfterGuiInput.Stop : EditorPlugin.AfterGuiInput.Pass;
|
||
}
|
||
|
||
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_private_method__forward_canvas_draw_over_viewport:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **_forward_canvas_draw_over_viewport**\ (\ viewport_control\: :ref:`Control<class_Control>`\ ) |virtual| :ref:`🔗<class_EditorPlugin_private_method__forward_canvas_draw_over_viewport>`
|
||
|
||
Вызывается движком при обновлении области просмотра 2D-редактора. ``viewport_control`` — это наложение поверх области просмотра, которое можно использовать для рисования. Обновить область просмотра можно вручную, вызвав :ref:`update_overlays()<class_EditorPlugin_method_update_overlays>`.
|
||
|
||
|
||
.. tabs::
|
||
|
||
.. code-tab:: gdscript
|
||
|
||
func _forward_canvas_draw_over_viewport(overlay):
|
||
# Нарисуйте круг в месте расположения курсора.
|
||
overlay.draw_circle(overlay.get_local_mouse_position(), 64, Color.WHITE)
|
||
|
||
func _forward_canvas_gui_input(event):
|
||
if event is InputEventMouseMotion:
|
||
# Перерисовывать область просмотра при перемещении курсора.
|
||
update_overlays()
|
||
return true
|
||
return false
|
||
|
||
.. code-tab:: csharp
|
||
|
||
public override void _ForwardCanvasDrawOverViewport(Control viewportControl)
|
||
{
|
||
// Нарисуйте круг в месте расположения курсора.
|
||
viewportControl.DrawCircle(viewportControl.GetLocalMousePosition(), 64, Colors.White);
|
||
}
|
||
|
||
public override bool _ForwardCanvasGuiInput(InputEvent @event)
|
||
{
|
||
if (@event is InputEventMouseMotion)
|
||
{
|
||
// Перерисовывать область просмотра при перемещении курсора.
|
||
UpdateOverlays();
|
||
return true;
|
||
}
|
||
return false;
|
||
}
|
||
|
||
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_private_method__forward_canvas_force_draw_over_viewport:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **_forward_canvas_force_draw_over_viewport**\ (\ viewport_control\: :ref:`Control<class_Control>`\ ) |virtual| :ref:`🔗<class_EditorPlugin_private_method__forward_canvas_force_draw_over_viewport>`
|
||
|
||
Этот метод такой же, как :ref:`_forward_canvas_draw_over_viewport()<class_EditorPlugin_private_method__forward_canvas_draw_over_viewport>`, за исключением того, что он рисует поверх всего. Полезно, когда вам нужен дополнительный слой, который отображается поверх всего остального.
|
||
|
||
Вам нужно включить вызов этого метода с помощью :ref:`set_force_draw_over_forwarding_enabled()<class_EditorPlugin_method_set_force_draw_over_forwarding_enabled>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_private_method__forward_canvas_gui_input:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **_forward_canvas_gui_input**\ (\ event\: :ref:`InputEvent<class_InputEvent>`\ ) |virtual| :ref:`🔗<class_EditorPlugin_private_method__forward_canvas_gui_input>`
|
||
|
||
Вызывается, когда в текущей редактируемой сцене есть корневой узел, реализуется :ref:`_handles()<class_EditorPlugin_private_method__handles>`, и в 2D-окне просмотра происходит :ref:`InputEvent<class_InputEvent>`. Если этот метод возвращает ``true``, ``event`` перехватывается этим **EditorPlugin**, в противном случае ``event`` пересылается другим классам Editor.
|
||
|
||
|
||
.. tabs::
|
||
|
||
.. code-tab:: gdscript
|
||
|
||
# Предотвращает попадание InputEvent в другие классы редактора.
|
||
func _forward_canvas_gui_input(event):
|
||
return true
|
||
|
||
.. code-tab:: csharp
|
||
|
||
// Предотвращает попадание InputEvent в другие классы редактора.
|
||
public override bool ForwardCanvasGuiInput(InputEvent @event)
|
||
{
|
||
return true;
|
||
}
|
||
|
||
|
||
|
||
Этот метод должен возвращать ``false``, чтобы переслать :ref:`InputEvent<class_InputEvent>` другим классам редактора.
|
||
|
||
|
||
.. tabs::
|
||
|
||
.. code-tab:: gdscript
|
||
|
||
# Потребляет InputEventMouseMotion и пересылает другие типы InputEvent.
|
||
func _forward_canvas_gui_input(event):
|
||
if (event is InputEventMouseMotion):
|
||
return true
|
||
return false
|
||
|
||
.. code-tab:: csharp
|
||
|
||
// Потребляет InputEventMouseMotion и пересылает другие типы InputEvent.
|
||
public override bool _ForwardCanvasGuiInput(InputEvent @event)
|
||
{
|
||
if (@event is InputEventMouseMotion)
|
||
{
|
||
return true;
|
||
}
|
||
return false;
|
||
}
|
||
|
||
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_private_method__get_breakpoints:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`PackedStringArray<class_PackedStringArray>` **_get_breakpoints**\ (\ ) |virtual| |const| :ref:`🔗<class_EditorPlugin_private_method__get_breakpoints>`
|
||
|
||
Это для редакторов, которые редактируют объекты на основе скриптов. Вы можете вернуть список точек останова в формате (``script:line``), например: ``res://path_to_script.gd:25``.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_private_method__get_plugin_icon:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Texture2D<class_Texture2D>` **_get_plugin_icon**\ (\ ) |virtual| |const| :ref:`🔗<class_EditorPlugin_private_method__get_plugin_icon>`
|
||
|
||
Переопределите этот метод в вашем плагине, чтобы вернуть :ref:`Texture2D<class_Texture2D>`, и чтобы присвоить ему значок.
|
||
|
||
Для плагинов главного экрана он отображается в верхней части экрана, справа от кнопок «2D», «3D», «Script», «Game» и «AssetLib».
|
||
|
||
В идеале значок плагина должен быть белым с прозрачным фоном и размером 16×16 пикселей.
|
||
|
||
|
||
.. tabs::
|
||
|
||
.. code-tab:: gdscript
|
||
|
||
func _get_plugin_icon():
|
||
# Вы можете использовать пользовательскую иконку:
|
||
return preload("res://addons/my_plugin/my_plugin_icon.svg")
|
||
# Или использовать встроенную иконку:
|
||
return EditorInterface.get_editor_theme().get_icon("Node", "EditorIcons")
|
||
|
||
.. code-tab:: csharp
|
||
|
||
public override Texture2D _GetPluginIcon()
|
||
{
|
||
// Вы можете использовать пользовательскую иконку:
|
||
return ResourceLoader.Load<Texture2D>("res://addons/my_plugin/my_plugin_icon.svg");
|
||
// Или использовать встроенную иконку:
|
||
return EditorInterface.Singleton.GetEditorTheme().GetIcon("Node", "EditorIcons");
|
||
}
|
||
|
||
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_private_method__get_plugin_name:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`String<class_String>` **_get_plugin_name**\ (\ ) |virtual| |const| :ref:`🔗<class_EditorPlugin_private_method__get_plugin_name>`
|
||
|
||
Переопределите этот метод в вашем плагине, чтобы указать имя плагина при отображении в редакторе Godot.
|
||
|
||
Для плагинов главного экрана это отображается в верхней части экрана, справа от кнопок «2D», «3D», «Script», «Game» и «AssetLib».
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_private_method__get_state:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Dictionary<class_Dictionary>` **_get_state**\ (\ ) |virtual| |const| :ref:`🔗<class_EditorPlugin_private_method__get_state>`
|
||
|
||
Переопределите этот метод, чтобы предоставить данные о состоянии, которые необходимо сохранить, например, положение вида, настройки сетки, сворачивание и т. д. Это используется при сохранении сцены (чтобы состояние сохранялось при её повторном открытии) и для переключения вкладок (чтобы состояние можно было восстановить при возврате вкладки). Эти данные автоматически сохраняются для каждой сцены в файле ``editstate`` в папке метаданных редактора. Если вы хотите сохранить глобальные (независимые от сцены) данные редактора для своего плагина, вы можете использовать :ref:`_get_window_layout()<class_EditorPlugin_private_method__get_window_layout>`.
|
||
|
||
Используйте :ref:`_set_state()<class_EditorPlugin_private_method__set_state>` для восстановления сохранённого состояния.
|
||
|
||
\ **Примечание:** Этот метод не следует использовать для сохранения важных настроек, которые должны сохраняться в проекте.
|
||
|
||
\ **Примечание:** Для корректного сохранения и восстановления состояния необходимо реализовать :ref:`_get_plugin_name()<class_EditorPlugin_private_method__get_plugin_name>`.
|
||
|
||
::
|
||
|
||
func _get_state():
|
||
var state = { "zoom": zoom, "preferred_color": my_color }
|
||
return state
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_private_method__get_unsaved_status:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`String<class_String>` **_get_unsaved_status**\ (\ for_scene\: :ref:`String<class_String>`\ ) |virtual| |const| :ref:`🔗<class_EditorPlugin_private_method__get_unsaved_status>`
|
||
|
||
Переопределите этот метод, чтобы предоставить пользовательское сообщение, в котором перечислены несохраненные изменения. Редактор вызовет этот метод при выходе или закрытии сцены и отобразит возвращенную строку в диалоговом окне подтверждения. Возвращает пустую строку, если у плагина нет несохраненных изменений.
|
||
|
||
При закрытии сцены ``for_scene`` — это путь к закрываемой сцене. Вы можете использовать его для обработки встроенных ресурсов в этой сцене.
|
||
|
||
Если пользователь подтверждает сохранение, перед закрытием редактора будет вызван :ref:`_save_external_data()<class_EditorPlugin_private_method__save_external_data>`.
|
||
|
||
::
|
||
|
||
func _get_unsaved_status(for_scene):
|
||
if not unsaved:
|
||
return ""
|
||
|
||
if for_scene.is_empty():
|
||
return "Save changes in MyCustomPlugin before closing?"
|
||
else:
|
||
return "Scene %s has changes from MyCustomPlugin. Save before closing?" % for_scene.get_file()
|
||
|
||
func _save_external_data():
|
||
unsaved = false
|
||
|
||
Если плагин не имеет изменений, специфичных для сцены, вы можете игнорировать вызовы при закрытии сцен:
|
||
|
||
::
|
||
|
||
func _get_unsaved_status(for_scene):
|
||
if not for_scene.is_empty():
|
||
return ""
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_private_method__get_window_layout:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **_get_window_layout**\ (\ configuration\: :ref:`ConfigFile<class_ConfigFile>`\ ) |virtual| :ref:`🔗<class_EditorPlugin_private_method__get_window_layout>`
|
||
|
||
Переопределите этот метод, чтобы предоставить макет GUI плагина или любые другие данные, которые вы хотите сохранить. Это используется для сохранения макета редактора проекта при вызове :ref:`queue_save_layout()<class_EditorPlugin_method_queue_save_layout>` или изменении макета редактора (например, при изменении положения дока). Данные сохраняются в файле ``editor_layout.cfg`` в каталоге метаданных редактора.
|
||
|
||
Используйте :ref:`_set_window_layout()<class_EditorPlugin_private_method__set_window_layout>`, чтобы восстановить сохраненный макет.
|
||
|
||
::
|
||
|
||
func _get_window_layout(configuration):
|
||
configuration.set_value("MyPlugin", "window_position", $Window.position)
|
||
configuration.set_value("MyPlugin", "icon_color", $Icon.modulate)
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_private_method__handles:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **_handles**\ (\ object\: :ref:`Object<class_Object>`\ ) |virtual| |const| :ref:`🔗<class_EditorPlugin_private_method__handles>`
|
||
|
||
Реализуйте эту функцию, если ваш плагин редактирует определенный тип объекта (Ресурс или Узел). Если вы вернете ``true``, то вы получите функции :ref:`_edit()<class_EditorPlugin_private_method__edit>` и :ref:`_make_visible()<class_EditorPlugin_private_method__make_visible>`, вызванные, когда редактор их запросит. Если вы объявили методы :ref:`_forward_canvas_gui_input()<class_EditorPlugin_private_method__forward_canvas_gui_input>` и :ref:`_forward_3d_gui_input()<class_EditorPlugin_private_method__forward_3d_gui_input>`, они также будут вызваны.
|
||
|
||
\ **Примечание:** Каждый плагин должен обрабатывать только один тип объектов одновременно. Если плагин обрабатывает больше типов объектов и они редактируются одновременно, это приведет к ошибкам.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_private_method__has_main_screen:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **_has_main_screen**\ (\ ) |virtual| |const| :ref:`🔗<class_EditorPlugin_private_method__has_main_screen>`
|
||
|
||
Возвращает ``true``, если это плагин редактора основного экрана (он идет в селекторе рабочей области вместе с **2D**, **3D**, **Script**, **Game** и **AssetLib**).
|
||
|
||
Когда выбрана рабочая область плагина, другие плагины основного экрана будут скрыты, но ваш плагин не появится автоматически. Его нужно добавить как дочерний элемент :ref:`EditorInterface.get_editor_main_screen()<class_EditorInterface_method_get_editor_main_screen>` и сделать видимым внутри :ref:`_make_visible()<class_EditorPlugin_private_method__make_visible>`.
|
||
|
||
Используйте :ref:`_get_plugin_name()<class_EditorPlugin_private_method__get_plugin_name>` и :ref:`_get_plugin_icon()<class_EditorPlugin_private_method__get_plugin_icon>` для настройки внешнего вида кнопки плагина.
|
||
|
||
::
|
||
|
||
var plugin_control
|
||
|
||
func _enter_tree():
|
||
plugin_control = preload("my_plugin_control.tscn").instantiate()
|
||
EditorInterface.get_editor_main_screen().add_child(plugin_control)
|
||
plugin_control.hide()
|
||
|
||
func _has_main_screen():
|
||
return true
|
||
|
||
func _make_visible(visible):
|
||
plugin_control.visible = visible
|
||
|
||
func _get_plugin_name():
|
||
return "My Super Cool Plugin 3000"
|
||
|
||
func _get_plugin_icon():
|
||
return EditorInterface.get_editor_theme().get_icon("Node", "EditorIcons")
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_private_method__make_visible:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **_make_visible**\ (\ visible\: :ref:`bool<class_bool>`\ ) |virtual| :ref:`🔗<class_EditorPlugin_private_method__make_visible>`
|
||
|
||
Эта функция будет вызвана, когда редактору будет предложено стать видимым. Она используется для плагинов, которые редактируют определенный тип объекта.
|
||
|
||
Помните, что вам придется вручную управлять видимостью всех элементов управления редактора.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_private_method__run_scene:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`PackedStringArray<class_PackedStringArray>` **_run_scene**\ (\ scene\: :ref:`String<class_String>`, args\: :ref:`PackedStringArray<class_PackedStringArray>`\ ) |virtual| |const| :ref:`🔗<class_EditorPlugin_private_method__run_scene>`
|
||
|
||
This function is called when an individual scene is about to be played in the editor. ``args`` is a list of command line arguments that will be passed to the new Godot instance, which will be replaced by the list returned by this function.
|
||
|
||
::
|
||
|
||
func _run_scene(scene, args):
|
||
args.append("--an-extra-argument")
|
||
return args
|
||
|
||
\ **Note:** Text that is printed in this method will not be visible in the editor's Output panel unless :ref:`EditorSettings.run/output/always_clear_output_on_play<class_EditorSettings_property_run/output/always_clear_output_on_play>` is ``false``.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_private_method__save_external_data:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **_save_external_data**\ (\ ) |virtual| :ref:`🔗<class_EditorPlugin_private_method__save_external_data>`
|
||
|
||
Этот метод вызывается после того, как редактор сохраняет проект или когда он закрыт. Он просит плагин сохранить отредактированные внешние сцены/ресурсы.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_private_method__set_state:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **_set_state**\ (\ state\: :ref:`Dictionary<class_Dictionary>`\ ) |virtual| :ref:`🔗<class_EditorPlugin_private_method__set_state>`
|
||
|
||
Восстановите состояние, сохраненное :ref:`_get_state()<class_EditorPlugin_private_method__get_state>`. Этот метод вызывается при изменении текущей вкладки сцены в редакторе.
|
||
|
||
\ **Примечание:** Ваш плагин должен реализовывать :ref:`_get_plugin_name()<class_EditorPlugin_private_method__get_plugin_name>`, иначе он не будет распознан и этот метод не будет вызван.
|
||
|
||
::
|
||
|
||
func _set_state(data):
|
||
zoom = data.get("zoom", 1.0)
|
||
preferred_color = data.get("my_color", Color.WHITE)
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_private_method__set_window_layout:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **_set_window_layout**\ (\ configuration\: :ref:`ConfigFile<class_ConfigFile>`\ ) |virtual| :ref:`🔗<class_EditorPlugin_private_method__set_window_layout>`
|
||
|
||
Восстановите макет GUI плагина и данные, сохраненные :ref:`_get_window_layout()<class_EditorPlugin_private_method__get_window_layout>`. Этот метод вызывается для каждого плагина при запуске редактора. Используйте предоставленный файл ``configuration`` для чтения сохраненных данных.
|
||
|
||
::
|
||
|
||
func _set_window_layout(configuration):
|
||
$Window.position = configuration.get_value("MyPlugin", "window_position", Vector2())
|
||
$Icon.modulate = configuration.get_value("MyPlugin", "icon_color", Color.WHITE)
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_add_autoload_singleton:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_autoload_singleton**\ (\ name\: :ref:`String<class_String>`, path\: :ref:`String<class_String>`\ ) :ref:`🔗<class_EditorPlugin_method_add_autoload_singleton>`
|
||
|
||
Добавляет скрипт по адресу ``path`` в список автозагрузки как ``name``.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_add_context_menu_plugin:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_context_menu_plugin**\ (\ slot\: :ref:`ContextMenuSlot<enum_EditorContextMenuPlugin_ContextMenuSlot>`, plugin\: :ref:`EditorContextMenuPlugin<class_EditorContextMenuPlugin>`\ ) :ref:`🔗<class_EditorPlugin_method_add_context_menu_plugin>`
|
||
|
||
Добавляет плагин в контекстное меню. ``slot`` — контекстное меню, в которое будет добавлен плагин.
|
||
|
||
\ **Примечание:** Экземпляр плагина может принадлежать только одному слоту контекстного меню.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_add_control_to_bottom_panel:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Button<class_Button>` **add_control_to_bottom_panel**\ (\ control\: :ref:`Control<class_Control>`, title\: :ref:`String<class_String>`, shortcut\: :ref:`Shortcut<class_Shortcut>` = null\ ) :ref:`🔗<class_EditorPlugin_method_add_control_to_bottom_panel>`
|
||
|
||
**Устарело:** Use :ref:`add_dock()<class_EditorPlugin_method_add_dock>` instead, with :ref:`EditorDock.default_slot<class_EditorDock_property_default_slot>` set to :ref:`DOCK_SLOT_BOTTOM<class_EditorPlugin_constant_DOCK_SLOT_BOTTOM>`.
|
||
|
||
Adds a control to the bottom panel (together with Output, Debug, Animation, etc.). Returns a reference to a button that is outside the scene tree. It's up to you to hide/show the button when needed. When your plugin is deactivated, make sure to remove your custom control with :ref:`remove_control_from_bottom_panel()<class_EditorPlugin_method_remove_control_from_bottom_panel>` and free it with :ref:`Node.queue_free()<class_Node_method_queue_free>`.
|
||
|
||
\ ``shortcut`` is a shortcut that, when activated, will toggle the bottom panel's visibility. The shortcut object is only set when this control is added to the bottom panel.
|
||
|
||
\ **Note** See the default editor bottom panel shortcuts in the Editor Settings for inspiration. By convention, they all use :kbd:`Alt` modifier.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_add_control_to_container:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_control_to_container**\ (\ container\: :ref:`CustomControlContainer<enum_EditorPlugin_CustomControlContainer>`, control\: :ref:`Control<class_Control>`\ ) :ref:`🔗<class_EditorPlugin_method_add_control_to_container>`
|
||
|
||
Добавляет пользовательский элемент управления в контейнер в пользовательском интерфейсе редактора.
|
||
|
||
Помните, что вам придется самостоятельно управлять видимостью ваших пользовательских элементов управления (и, скорее всего, скрывать их после добавления).
|
||
|
||
Когда ваш плагин деактивирован, обязательно удалите пользовательский элемент управления с помощью :ref:`remove_control_from_container()<class_EditorPlugin_method_remove_control_from_container>` и освободите его с помощью :ref:`Node.queue_free()<class_Node_method_queue_free>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_add_control_to_dock:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_control_to_dock**\ (\ slot\: :ref:`DockSlot<enum_EditorPlugin_DockSlot>`, control\: :ref:`Control<class_Control>`, shortcut\: :ref:`Shortcut<class_Shortcut>` = null\ ) :ref:`🔗<class_EditorPlugin_method_add_control_to_dock>`
|
||
|
||
**Устарело:** Use :ref:`add_dock()<class_EditorPlugin_method_add_dock>` instead.
|
||
|
||
Добавляет элемент управления в определенный слот дока.
|
||
|
||
Если док перемещен и пока плагин активен, редактор сохранит позицию дока в последующих сеансах.
|
||
|
||
Когда ваш плагин деактивирован, обязательно удалите свой пользовательский элемент управления с помощью :ref:`remove_control_from_docks()<class_EditorPlugin_method_remove_control_from_docks>` и освободите его с помощью :ref:`Node.queue_free()<class_Node_method_queue_free>`.
|
||
|
||
При желании вы можете указать параметр сочетания клавиш. При нажатии сочетания клавиш откроет и сфокусирует док.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_add_custom_type:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_custom_type**\ (\ type\: :ref:`String<class_String>`, base\: :ref:`String<class_String>`, script\: :ref:`Script<class_Script>`, icon\: :ref:`Texture2D<class_Texture2D>`\ ) :ref:`🔗<class_EditorPlugin_method_add_custom_type>`
|
||
|
||
Добавляет пользовательский тип, который появится в списке узлов или ресурсов.
|
||
|
||
Когда выбран заданный узел или ресурс, будет создан экземпляр базового типа (например, "Node3D", "Control", "Resource"), затем скрипт будет загружен и установлен для этого объекта.
|
||
|
||
\ **Примечание:** Базовый тип — это базовый класс движка, который наследует иерархия классов этого типа, а не родительские классы пользовательских типов.
|
||
|
||
Вы можете использовать виртуальный метод :ref:`_handles()<class_EditorPlugin_private_method__handles>`, чтобы проверить, редактируется ли ваш пользовательский объект, проверив скрипт или используя ключевое слово ``is``.
|
||
|
||
Во время выполнения это будет простой объект со скриптом, поэтому эту функцию не нужно вызывать.
|
||
|
||
\ **Примечание:** Пользовательские типы, добавленные таким образом, не являются настоящими классами. Они являются просто вспомогательными для создания узла с определенным скриптом.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_add_debugger_plugin:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_debugger_plugin**\ (\ script\: :ref:`EditorDebuggerPlugin<class_EditorDebuggerPlugin>`\ ) :ref:`🔗<class_EditorPlugin_method_add_debugger_plugin>`
|
||
|
||
Добавляет :ref:`Script<class_Script>` как плагин отладчика к Debugger. Скрипт должен расширять :ref:`EditorDebuggerPlugin<class_EditorDebuggerPlugin>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_add_dock:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_dock**\ (\ dock\: :ref:`EditorDock<class_EditorDock>`\ ) :ref:`🔗<class_EditorPlugin_method_add_dock>`
|
||
|
||
Adds a new dock.
|
||
|
||
When your plugin is deactivated, make sure to remove your custom dock with :ref:`remove_dock()<class_EditorPlugin_method_remove_dock>` and free it with :ref:`Node.queue_free()<class_Node_method_queue_free>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_add_export_platform:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_export_platform**\ (\ platform\: :ref:`EditorExportPlatform<class_EditorExportPlatform>`\ ) :ref:`🔗<class_EditorPlugin_method_add_export_platform>`
|
||
|
||
Регистрирует новый :ref:`EditorExportPlatform<class_EditorExportPlatform>`. Экспорт платформ обеспечивает функциональность экспорта на определенную платформу.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_add_export_plugin:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_export_plugin**\ (\ plugin\: :ref:`EditorExportPlugin<class_EditorExportPlugin>`\ ) :ref:`🔗<class_EditorPlugin_method_add_export_plugin>`
|
||
|
||
Регистрирует новый :ref:`EditorExportPlugin<class_EditorExportPlugin>`. Плагины экспорта используются для выполнения задач при экспорте проекта.
|
||
|
||
См. :ref:`add_inspector_plugin()<class_EditorPlugin_method_add_inspector_plugin>` для примера регистрации плагина.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_add_import_plugin:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_import_plugin**\ (\ importer\: :ref:`EditorImportPlugin<class_EditorImportPlugin>`, first_priority\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_EditorPlugin_method_add_import_plugin>`
|
||
|
||
Регистрирует новый :ref:`EditorImportPlugin<class_EditorImportPlugin>`. Импортные плагины используются для импорта пользовательских и неподдерживаемых ресурсов в качестве пользовательского типа :ref:`Resource<class_Resource>`.
|
||
|
||
Если ``first_priority`` равен ``true``, новый импортный плагин вставляется первым в списке и имеет приоритет над уже существующими плагинами.
|
||
|
||
\ **Примечание:** Если вы хотите импортировать пользовательские форматы 3D-ресурсов, используйте вместо этого :ref:`add_scene_format_importer_plugin()<class_EditorPlugin_method_add_scene_format_importer_plugin>`.
|
||
|
||
См. :ref:`add_inspector_plugin()<class_EditorPlugin_method_add_inspector_plugin>` для примера регистрации плагина.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_add_inspector_plugin:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_inspector_plugin**\ (\ plugin\: :ref:`EditorInspectorPlugin<class_EditorInspectorPlugin>`\ ) :ref:`🔗<class_EditorPlugin_method_add_inspector_plugin>`
|
||
|
||
Регистрирует новый :ref:`EditorInspectorPlugin<class_EditorInspectorPlugin>`. Плагины инспектора используются для расширения :ref:`EditorInspector<class_EditorInspector>` и предоставления пользовательских инструментов настройки для свойств вашего объекта.
|
||
|
||
\ **Примечание:** Всегда используйте :ref:`remove_inspector_plugin()<class_EditorPlugin_method_remove_inspector_plugin>` для удаления зарегистрированного :ref:`EditorInspectorPlugin<class_EditorInspectorPlugin>`, когда ваш **EditorPlugin** отключен, чтобы предотвратить утечки и непредвиденное поведение.
|
||
|
||
|
||
.. tabs::
|
||
|
||
.. code-tab:: gdscript
|
||
|
||
const MyInspectorPlugin = preload("res://addons/your_addon/path/to/your/script.gd")
|
||
var inspector_plugin = MyInspectorPlugin.new()
|
||
|
||
func _enter_tree():
|
||
add_inspector_plugin(inspector_plugin)
|
||
|
||
func _exit_tree():
|
||
remove_inspector_plugin(inspector_plugin)
|
||
|
||
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_add_node_3d_gizmo_plugin:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_node_3d_gizmo_plugin**\ (\ plugin\: :ref:`EditorNode3DGizmoPlugin<class_EditorNode3DGizmoPlugin>`\ ) :ref:`🔗<class_EditorPlugin_method_add_node_3d_gizmo_plugin>`
|
||
|
||
Регистрирует новый :ref:`EditorNode3DGizmoPlugin<class_EditorNode3DGizmoPlugin>`. Плагины Gizmo используются для добавления пользовательских гизмо в область предварительного просмотра 3D для :ref:`Node3D<class_Node3D>`.
|
||
|
||
См. :ref:`add_inspector_plugin()<class_EditorPlugin_method_add_inspector_plugin>` для примера регистрации плагина.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_add_resource_conversion_plugin:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_resource_conversion_plugin**\ (\ plugin\: :ref:`EditorResourceConversionPlugin<class_EditorResourceConversionPlugin>`\ ) :ref:`🔗<class_EditorPlugin_method_add_resource_conversion_plugin>`
|
||
|
||
Регистрирует новый :ref:`EditorResourceConversionPlugin<class_EditorResourceConversionPlugin>`. Плагины преобразования ресурсов используются для добавления пользовательских преобразователей ресурсов в инспектор редактора.
|
||
|
||
См. :ref:`EditorResourceConversionPlugin<class_EditorResourceConversionPlugin>` для примера создания плагина преобразования ресурсов.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_add_scene_format_importer_plugin:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_scene_format_importer_plugin**\ (\ scene_format_importer\: :ref:`EditorSceneFormatImporter<class_EditorSceneFormatImporter>`, first_priority\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_EditorPlugin_method_add_scene_format_importer_plugin>`
|
||
|
||
Регистрирует новый :ref:`EditorSceneFormatImporter<class_EditorSceneFormatImporter>`. Импортеры сцен используются для импорта пользовательских форматов 3D-ресурсов в качестве сцен.
|
||
|
||
Если ``first_priority`` равен ``true``, новый плагин импорта вставляется первым в списке и имеет приоритет над уже существующими плагинами.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_add_scene_post_import_plugin:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_scene_post_import_plugin**\ (\ scene_import_plugin\: :ref:`EditorScenePostImportPlugin<class_EditorScenePostImportPlugin>`, first_priority\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_EditorPlugin_method_add_scene_post_import_plugin>`
|
||
|
||
Добавьте :ref:`EditorScenePostImportPlugin<class_EditorScenePostImportPlugin>`. Эти плагины позволяют настраивать процесс импорта 3D-ресурсов, добавляя новые параметры в диалоговые окна импорта.
|
||
|
||
Если ``first_priority`` равен ``true``, новый плагин импорта вставляется первым в списке и имеет приоритет над уже существующими плагинами.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_add_tool_menu_item:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_tool_menu_item**\ (\ name\: :ref:`String<class_String>`, callable\: :ref:`Callable<class_Callable>`\ ) :ref:`🔗<class_EditorPlugin_method_add_tool_menu_item>`
|
||
|
||
Добавляет пользовательский элемент меню в **Проект > Инструменты** с именем ``name``]. При щелчке будет вызван предоставленный ``callable``.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_add_tool_submenu_item:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_tool_submenu_item**\ (\ name\: :ref:`String<class_String>`, submenu\: :ref:`PopupMenu<class_PopupMenu>`\ ) :ref:`🔗<class_EditorPlugin_method_add_tool_submenu_item>`
|
||
|
||
Добавляет пользовательское подменю :ref:`PopupMenu<class_PopupMenu>` в **Проект > Инструменты >** ``name``. Используйте :ref:`remove_tool_menu_item()<class_EditorPlugin_method_remove_tool_menu_item>` при очистке плагина, чтобы удалить меню.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_add_translation_parser_plugin:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_translation_parser_plugin**\ (\ parser\: :ref:`EditorTranslationParserPlugin<class_EditorTranslationParserPlugin>`\ ) :ref:`🔗<class_EditorPlugin_method_add_translation_parser_plugin>`
|
||
|
||
Регистрирует пользовательский плагин анализатора перевода для извлечения переводимых строк из пользовательских файлов.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_add_undo_redo_inspector_hook_callback:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_undo_redo_inspector_hook_callback**\ (\ callable\: :ref:`Callable<class_Callable>`\ ) :ref:`🔗<class_EditorPlugin_method_add_undo_redo_inspector_hook_callback>`
|
||
|
||
Подключает обратный вызов к созданию действия отмены/повтора при изменении свойства в инспекторе. Это позволяет, например, сохранять другие свойства, которые могут быть потеряны при изменении данного свойства.
|
||
|
||
Обратный вызов должен иметь 4 аргумента: :ref:`Object<class_Object>` ``undo_redo``, :ref:`Object<class_Object>` ``modified_object``, :ref:`String<class_String>` ``property`` и :ref:`Variant<class_Variant>` ``new_value``. Это, соответственно, объект :ref:`UndoRedo<class_UndoRedo>`, используемый инспектором, текущий измененный объект, имя измененного свойства и новое значение, которое свойство собирается принять.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_get_editor_interface:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`EditorInterface<class_EditorInterface>` **get_editor_interface**\ (\ ) :ref:`🔗<class_EditorPlugin_method_get_editor_interface>`
|
||
|
||
**Устарело:** :ref:`EditorInterface<class_EditorInterface>` is a global singleton and can be accessed directly by its name.
|
||
|
||
Возвращает экземпляр синглтона :ref:`EditorInterface<class_EditorInterface>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_get_export_as_menu:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`PopupMenu<class_PopupMenu>` **get_export_as_menu**\ (\ ) :ref:`🔗<class_EditorPlugin_method_get_export_as_menu>`
|
||
|
||
Возвращает :ref:`PopupMenu<class_PopupMenu>` в разделе **Сцена > Экспортировать как...**.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_get_plugin_version:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`String<class_String>` **get_plugin_version**\ (\ ) |const| :ref:`🔗<class_EditorPlugin_method_get_plugin_version>`
|
||
|
||
Укажите версию плагина, объявленную в файле конфигурации ``plugin.cfg``.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_get_script_create_dialog:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`ScriptCreateDialog<class_ScriptCreateDialog>` **get_script_create_dialog**\ (\ ) :ref:`🔗<class_EditorPlugin_method_get_script_create_dialog>`
|
||
|
||
Получает диалог редактора, используемый для создания скриптов.
|
||
|
||
\ **Примечание:** Пользователи могут настроить его перед использованием.
|
||
|
||
\ **Предупреждение:** Удаление и освобождение этого узла сделает часть редактора бесполезной и может привести к сбою.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_get_undo_redo:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`EditorUndoRedoManager<class_EditorUndoRedoManager>` **get_undo_redo**\ (\ ) :ref:`🔗<class_EditorPlugin_method_get_undo_redo>`
|
||
|
||
Получает объект отмены/повтора. Большинство действий в редакторе можно отменить, поэтому используйте этот объект, чтобы убедиться, что это произойдет, когда это того стоит.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_hide_bottom_panel:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **hide_bottom_panel**\ (\ ) :ref:`🔗<class_EditorPlugin_method_hide_bottom_panel>`
|
||
|
||
Сворачивает нижнюю панель.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_make_bottom_panel_item_visible:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **make_bottom_panel_item_visible**\ (\ item\: :ref:`Control<class_Control>`\ ) :ref:`🔗<class_EditorPlugin_method_make_bottom_panel_item_visible>`
|
||
|
||
Делает видимым определенный элемент на нижней панели.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_queue_save_layout:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **queue_save_layout**\ (\ ) :ref:`🔗<class_EditorPlugin_method_queue_save_layout>`
|
||
|
||
Очередь сохранения макета редактора проекта.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_remove_autoload_singleton:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **remove_autoload_singleton**\ (\ name\: :ref:`String<class_String>`\ ) :ref:`🔗<class_EditorPlugin_method_remove_autoload_singleton>`
|
||
|
||
Удаляет автозагрузку ``name`` из списка.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_remove_context_menu_plugin:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **remove_context_menu_plugin**\ (\ plugin\: :ref:`EditorContextMenuPlugin<class_EditorContextMenuPlugin>`\ ) :ref:`🔗<class_EditorPlugin_method_remove_context_menu_plugin>`
|
||
|
||
Удаляет указанный плагин контекстного меню.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_remove_control_from_bottom_panel:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **remove_control_from_bottom_panel**\ (\ control\: :ref:`Control<class_Control>`\ ) :ref:`🔗<class_EditorPlugin_method_remove_control_from_bottom_panel>`
|
||
|
||
**Устарело:** Use :ref:`remove_dock()<class_EditorPlugin_method_remove_dock>` instead.
|
||
|
||
Удаляет элемент управления с нижней панели. Вам придется вручную :ref:`Node.queue_free()<class_Node_method_queue_free>` элемент управления.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_remove_control_from_container:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **remove_control_from_container**\ (\ container\: :ref:`CustomControlContainer<enum_EditorPlugin_CustomControlContainer>`, control\: :ref:`Control<class_Control>`\ ) :ref:`🔗<class_EditorPlugin_method_remove_control_from_container>`
|
||
|
||
Удаляет элемент управления из указанного контейнера. Вам необходимо вручную :ref:`Node.queue_free()<class_Node_method_queue_free>` элемент управления.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_remove_control_from_docks:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **remove_control_from_docks**\ (\ control\: :ref:`Control<class_Control>`\ ) :ref:`🔗<class_EditorPlugin_method_remove_control_from_docks>`
|
||
|
||
**Устарело:** Use :ref:`remove_dock()<class_EditorPlugin_method_remove_dock>` instead.
|
||
|
||
Удаляет элемент управления из дока. Вам придется вручную :ref:`Node.queue_free()<class_Node_method_queue_free>` элемент управления.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_remove_custom_type:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **remove_custom_type**\ (\ type\: :ref:`String<class_String>`\ ) :ref:`🔗<class_EditorPlugin_method_remove_custom_type>`
|
||
|
||
Удаляет пользовательский тип, добавленный :ref:`add_custom_type()<class_EditorPlugin_method_add_custom_type>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_remove_debugger_plugin:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **remove_debugger_plugin**\ (\ script\: :ref:`EditorDebuggerPlugin<class_EditorDebuggerPlugin>`\ ) :ref:`🔗<class_EditorPlugin_method_remove_debugger_plugin>`
|
||
|
||
Удаляет плагин отладчика с указанным скриптом из отладчика.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_remove_dock:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **remove_dock**\ (\ dock\: :ref:`EditorDock<class_EditorDock>`\ ) :ref:`🔗<class_EditorPlugin_method_remove_dock>`
|
||
|
||
Removes ``dock`` from the available docks. You should manually call :ref:`Node.queue_free()<class_Node_method_queue_free>` to free it.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_remove_export_platform:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **remove_export_platform**\ (\ platform\: :ref:`EditorExportPlatform<class_EditorExportPlatform>`\ ) :ref:`🔗<class_EditorPlugin_method_remove_export_platform>`
|
||
|
||
Удаляет экспортную платформу, зарегистрированную :ref:`add_export_platform()<class_EditorPlugin_method_add_export_platform>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_remove_export_plugin:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **remove_export_plugin**\ (\ plugin\: :ref:`EditorExportPlugin<class_EditorExportPlugin>`\ ) :ref:`🔗<class_EditorPlugin_method_remove_export_plugin>`
|
||
|
||
Удаляет плагин экспорта, зарегистрированный :ref:`add_export_plugin()<class_EditorPlugin_method_add_export_plugin>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_remove_import_plugin:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **remove_import_plugin**\ (\ importer\: :ref:`EditorImportPlugin<class_EditorImportPlugin>`\ ) :ref:`🔗<class_EditorPlugin_method_remove_import_plugin>`
|
||
|
||
Удаляет плагин импорта, зарегистрированный :ref:`add_import_plugin()<class_EditorPlugin_method_add_import_plugin>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_remove_inspector_plugin:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **remove_inspector_plugin**\ (\ plugin\: :ref:`EditorInspectorPlugin<class_EditorInspectorPlugin>`\ ) :ref:`🔗<class_EditorPlugin_method_remove_inspector_plugin>`
|
||
|
||
Удаляет плагин инспектора, зарегистрированный :ref:`add_inspector_plugin()<class_EditorPlugin_method_add_inspector_plugin>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_remove_node_3d_gizmo_plugin:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **remove_node_3d_gizmo_plugin**\ (\ plugin\: :ref:`EditorNode3DGizmoPlugin<class_EditorNode3DGizmoPlugin>`\ ) :ref:`🔗<class_EditorPlugin_method_remove_node_3d_gizmo_plugin>`
|
||
|
||
Удаляет плагин gizmo, зарегистрированный :ref:`add_node_3d_gizmo_plugin()<class_EditorPlugin_method_add_node_3d_gizmo_plugin>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_remove_resource_conversion_plugin:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **remove_resource_conversion_plugin**\ (\ plugin\: :ref:`EditorResourceConversionPlugin<class_EditorResourceConversionPlugin>`\ ) :ref:`🔗<class_EditorPlugin_method_remove_resource_conversion_plugin>`
|
||
|
||
Удаляет плагин преобразования ресурсов, зарегистрированный :ref:`add_resource_conversion_plugin()<class_EditorPlugin_method_add_resource_conversion_plugin>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_remove_scene_format_importer_plugin:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **remove_scene_format_importer_plugin**\ (\ scene_format_importer\: :ref:`EditorSceneFormatImporter<class_EditorSceneFormatImporter>`\ ) :ref:`🔗<class_EditorPlugin_method_remove_scene_format_importer_plugin>`
|
||
|
||
Удаляет импортер формата сцены, зарегистрированный :ref:`add_scene_format_importer_plugin()<class_EditorPlugin_method_add_scene_format_importer_plugin>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_remove_scene_post_import_plugin:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **remove_scene_post_import_plugin**\ (\ scene_import_plugin\: :ref:`EditorScenePostImportPlugin<class_EditorScenePostImportPlugin>`\ ) :ref:`🔗<class_EditorPlugin_method_remove_scene_post_import_plugin>`
|
||
|
||
Удалите :ref:`EditorScenePostImportPlugin<class_EditorScenePostImportPlugin>`, добавленный с помощью :ref:`add_scene_post_import_plugin()<class_EditorPlugin_method_add_scene_post_import_plugin>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_remove_tool_menu_item:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **remove_tool_menu_item**\ (\ name\: :ref:`String<class_String>`\ ) :ref:`🔗<class_EditorPlugin_method_remove_tool_menu_item>`
|
||
|
||
Удаляет меню ``name`` из **Проект > Инструменты**.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_remove_translation_parser_plugin:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **remove_translation_parser_plugin**\ (\ parser\: :ref:`EditorTranslationParserPlugin<class_EditorTranslationParserPlugin>`\ ) :ref:`🔗<class_EditorPlugin_method_remove_translation_parser_plugin>`
|
||
|
||
Удаляет пользовательский плагин парсера перевода, зарегистрированный :ref:`add_translation_parser_plugin()<class_EditorPlugin_method_add_translation_parser_plugin>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_remove_undo_redo_inspector_hook_callback:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **remove_undo_redo_inspector_hook_callback**\ (\ callable\: :ref:`Callable<class_Callable>`\ ) :ref:`🔗<class_EditorPlugin_method_remove_undo_redo_inspector_hook_callback>`
|
||
|
||
Удаляет обратный вызов, ранее добавленный :ref:`add_undo_redo_inspector_hook_callback()<class_EditorPlugin_method_add_undo_redo_inspector_hook_callback>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_set_dock_tab_icon:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_dock_tab_icon**\ (\ control\: :ref:`Control<class_Control>`, icon\: :ref:`Texture2D<class_Texture2D>`\ ) :ref:`🔗<class_EditorPlugin_method_set_dock_tab_icon>`
|
||
|
||
**Устарело:** Use :ref:`EditorDock.dock_icon<class_EditorDock_property_dock_icon>` instead.
|
||
|
||
Устанавливает значок вкладки для указанного элемента управления в слоте дока. Установка ``null`` удаляет значок.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_set_force_draw_over_forwarding_enabled:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_force_draw_over_forwarding_enabled**\ (\ ) :ref:`🔗<class_EditorPlugin_method_set_force_draw_over_forwarding_enabled>`
|
||
|
||
Позволяет вызывать :ref:`_forward_canvas_force_draw_over_viewport()<class_EditorPlugin_private_method__forward_canvas_force_draw_over_viewport>` для 2D-редактора и :ref:`_forward_3d_force_draw_over_viewport()<class_EditorPlugin_private_method__forward_3d_force_draw_over_viewport>` для 3D-редактора при обновлении их вьюпортов. Вам нужно вызвать этот метод только один раз, и он будет работать постоянно для этого плагина.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_set_input_event_forwarding_always_enabled:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_input_event_forwarding_always_enabled**\ (\ ) :ref:`🔗<class_EditorPlugin_method_set_input_event_forwarding_always_enabled>`
|
||
|
||
Используйте этот метод, если вы всегда хотите получать входные данные с экрана 3D-вида внутри :ref:`_forward_3d_gui_input()<class_EditorPlugin_private_method__forward_3d_gui_input>`. Он может быть особенно полезен, если ваш плагин захочет использовать raycast в сцене.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_EditorPlugin_method_update_overlays:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`int<class_int>` **update_overlays**\ (\ ) |const| :ref:`🔗<class_EditorPlugin_method_update_overlays>`
|
||
|
||
Обновляет наложения вьюпорта 2D- и 3D-редактора. Вызывает вызов методов :ref:`_forward_canvas_draw_over_viewport()<class_EditorPlugin_private_method__forward_canvas_draw_over_viewport>`, :ref:`_forward_canvas_force_draw_over_viewport()<class_EditorPlugin_private_method__forward_canvas_force_draw_over_viewport>`, :ref:`_forward_3d_draw_over_viewport()<class_EditorPlugin_private_method__forward_3d_draw_over_viewport>` и :ref:`_forward_3d_force_draw_over_viewport()<class_EditorPlugin_private_method__forward_3d_force_draw_over_viewport>`.
|
||
|
||
.. |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 (Нет возвращаемого значения.)`
|