Add localized class reference as pre-generated RST files

Currently including `zh_CN` and `es` which both have very high completion
ratios. Others will be added once they reach a significant percentage too.

These RST files will be used by godot-docs in place of its `classes` folder
after we sync with https://github.com/godotengine/godot-docs/pull/5458.

The update workflow is manual for now (example for `zh_CN`):

- Build `godotengine/godot` in the branch we currently track (now `3.x`)
- Run `godot --doctool -l zh_CN`
- Run `cd doc && make rst LANGARG=zh_CN`
- Copy `doc/_build/rst/*` to `classes/zh_CN/` here
- Make sure to have `classes/zh_CN/index.rst` copied from `docs/classes`
This commit is contained in:
Rémi Verschelde
2021-12-21 16:01:30 +01:00
parent cfef0be973
commit cf78697eea
1369 changed files with 300272 additions and 0 deletions

View File

@@ -0,0 +1,837 @@
:github_url: hide
.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
.. DO NOT EDIT THIS FILE, but the EditorPlugin.xml source instead.
.. The source is found in doc/classes or modules/<name>/doc_classes.
.. _class_EditorPlugin:
EditorPlugin
============
**Inherits:** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
Utilizado por el editor para ampliar su funcionalidad.
Descripción
----------------------
Los plugins son usados por el editor para extender la funcionalidad. Los tipos más comunes de plugins son los que editan un determinado nodo o tipo de recurso, importan plugins y exportan plugins. Véase también :ref:`EditorScript<class_EditorScript>` para añadir funciones al editor.
Tutoriales
--------------------
- :doc:`../tutorials/plugins/editor/index`
Métodos
--------------
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`add_autoload_singleton<class_EditorPlugin_method_add_autoload_singleton>` **(** :ref:`String<class_String>` name, :ref:`String<class_String>` path **)** |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`ToolButton<class_ToolButton>` | :ref:`add_control_to_bottom_panel<class_EditorPlugin_method_add_control_to_bottom_panel>` **(** :ref:`Control<class_Control>` control, :ref:`String<class_String>` title **)** |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`add_control_to_container<class_EditorPlugin_method_add_control_to_container>` **(** :ref:`CustomControlContainer<enum_EditorPlugin_CustomControlContainer>` container, :ref:`Control<class_Control>` control **)** |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`add_control_to_dock<class_EditorPlugin_method_add_control_to_dock>` **(** :ref:`DockSlot<enum_EditorPlugin_DockSlot>` slot, :ref:`Control<class_Control>` control **)** |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`add_custom_type<class_EditorPlugin_method_add_custom_type>` **(** :ref:`String<class_String>` type, :ref:`String<class_String>` base, :ref:`Script<class_Script>` script, :ref:`Texture<class_Texture>` icon **)** |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`add_export_plugin<class_EditorPlugin_method_add_export_plugin>` **(** :ref:`EditorExportPlugin<class_EditorExportPlugin>` plugin **)** |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`add_import_plugin<class_EditorPlugin_method_add_import_plugin>` **(** :ref:`EditorImportPlugin<class_EditorImportPlugin>` importer **)** |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`add_inspector_plugin<class_EditorPlugin_method_add_inspector_plugin>` **(** :ref:`EditorInspectorPlugin<class_EditorInspectorPlugin>` plugin **)** |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`add_scene_import_plugin<class_EditorPlugin_method_add_scene_import_plugin>` **(** :ref:`EditorSceneImporter<class_EditorSceneImporter>` scene_importer **)** |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`add_spatial_gizmo_plugin<class_EditorPlugin_method_add_spatial_gizmo_plugin>` **(** :ref:`EditorSpatialGizmoPlugin<class_EditorSpatialGizmoPlugin>` plugin **)** |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`add_tool_menu_item<class_EditorPlugin_method_add_tool_menu_item>` **(** :ref:`String<class_String>` name, :ref:`Object<class_Object>` handler, :ref:`String<class_String>` callback, :ref:`Variant<class_Variant>` ud=null **)** |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`add_tool_submenu_item<class_EditorPlugin_method_add_tool_submenu_item>` **(** :ref:`String<class_String>` name, :ref:`Object<class_Object>` submenu **)** |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`apply_changes<class_EditorPlugin_method_apply_changes>` **(** **)** |virtual| |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`build<class_EditorPlugin_method_build>` **(** **)** |virtual| |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`clear<class_EditorPlugin_method_clear>` **(** **)** |virtual| |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`disable_plugin<class_EditorPlugin_method_disable_plugin>` **(** **)** |virtual| |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`edit<class_EditorPlugin_method_edit>` **(** :ref:`Object<class_Object>` object **)** |virtual| |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`enable_plugin<class_EditorPlugin_method_enable_plugin>` **(** **)** |virtual| |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`forward_canvas_draw_over_viewport<class_EditorPlugin_method_forward_canvas_draw_over_viewport>` **(** :ref:`Control<class_Control>` overlay **)** |virtual| |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`forward_canvas_force_draw_over_viewport<class_EditorPlugin_method_forward_canvas_force_draw_over_viewport>` **(** :ref:`Control<class_Control>` overlay **)** |virtual| |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`forward_canvas_gui_input<class_EditorPlugin_method_forward_canvas_gui_input>` **(** :ref:`InputEvent<class_InputEvent>` event **)** |virtual| |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`forward_spatial_draw_over_viewport<class_EditorPlugin_method_forward_spatial_draw_over_viewport>` **(** :ref:`Control<class_Control>` overlay **)** |virtual| |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`forward_spatial_force_draw_over_viewport<class_EditorPlugin_method_forward_spatial_force_draw_over_viewport>` **(** :ref:`Control<class_Control>` overlay **)** |virtual| |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`forward_spatial_gui_input<class_EditorPlugin_method_forward_spatial_gui_input>` **(** :ref:`Camera<class_Camera>` camera, :ref:`InputEvent<class_InputEvent>` event **)** |virtual| |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PoolStringArray<class_PoolStringArray>` | :ref:`get_breakpoints<class_EditorPlugin_method_get_breakpoints>` **(** **)** |virtual| |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`EditorInterface<class_EditorInterface>` | :ref:`get_editor_interface<class_EditorPlugin_method_get_editor_interface>` **(** **)** |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Texture<class_Texture>` | :ref:`get_plugin_icon<class_EditorPlugin_method_get_plugin_icon>` **(** **)** |virtual| |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_plugin_name<class_EditorPlugin_method_get_plugin_name>` **(** **)** |virtual| |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`ScriptCreateDialog<class_ScriptCreateDialog>` | :ref:`get_script_create_dialog<class_EditorPlugin_method_get_script_create_dialog>` **(** **)** |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Dictionary<class_Dictionary>` | :ref:`get_state<class_EditorPlugin_method_get_state>` **(** **)** |virtual| |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`UndoRedo<class_UndoRedo>` | :ref:`get_undo_redo<class_EditorPlugin_method_get_undo_redo>` **(** **)** |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`get_window_layout<class_EditorPlugin_method_get_window_layout>` **(** :ref:`ConfigFile<class_ConfigFile>` layout **)** |virtual| |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`handles<class_EditorPlugin_method_handles>` **(** :ref:`Object<class_Object>` object **)** |virtual| |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_main_screen<class_EditorPlugin_method_has_main_screen>` **(** **)** |virtual| |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 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>` **(** :ref:`Control<class_Control>` item **)** |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`make_visible<class_EditorPlugin_method_make_visible>` **(** :ref:`bool<class_bool>` visible **)** |virtual| |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`queue_save_layout<class_EditorPlugin_method_queue_save_layout>` **(** **)** |const| |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`remove_autoload_singleton<class_EditorPlugin_method_remove_autoload_singleton>` **(** :ref:`String<class_String>` name **)** |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`remove_control_from_bottom_panel<class_EditorPlugin_method_remove_control_from_bottom_panel>` **(** :ref:`Control<class_Control>` control **)** |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`remove_control_from_container<class_EditorPlugin_method_remove_control_from_container>` **(** :ref:`CustomControlContainer<enum_EditorPlugin_CustomControlContainer>` container, :ref:`Control<class_Control>` control **)** |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`remove_control_from_docks<class_EditorPlugin_method_remove_control_from_docks>` **(** :ref:`Control<class_Control>` control **)** |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`remove_custom_type<class_EditorPlugin_method_remove_custom_type>` **(** :ref:`String<class_String>` type **)** |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`remove_export_plugin<class_EditorPlugin_method_remove_export_plugin>` **(** :ref:`EditorExportPlugin<class_EditorExportPlugin>` plugin **)** |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`remove_import_plugin<class_EditorPlugin_method_remove_import_plugin>` **(** :ref:`EditorImportPlugin<class_EditorImportPlugin>` importer **)** |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`remove_inspector_plugin<class_EditorPlugin_method_remove_inspector_plugin>` **(** :ref:`EditorInspectorPlugin<class_EditorInspectorPlugin>` plugin **)** |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`remove_scene_import_plugin<class_EditorPlugin_method_remove_scene_import_plugin>` **(** :ref:`EditorSceneImporter<class_EditorSceneImporter>` scene_importer **)** |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`remove_spatial_gizmo_plugin<class_EditorPlugin_method_remove_spatial_gizmo_plugin>` **(** :ref:`EditorSpatialGizmoPlugin<class_EditorSpatialGizmoPlugin>` plugin **)** |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`remove_tool_menu_item<class_EditorPlugin_method_remove_tool_menu_item>` **(** :ref:`String<class_String>` name **)** |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`save_external_data<class_EditorPlugin_method_save_external_data>` **(** **)** |virtual| |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 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>` **(** **)** |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_state<class_EditorPlugin_method_set_state>` **(** :ref:`Dictionary<class_Dictionary>` state **)** |virtual| |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_window_layout<class_EditorPlugin_method_set_window_layout>` **(** :ref:`ConfigFile<class_ConfigFile>` layout **)** |virtual| |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`update_overlays<class_EditorPlugin_method_update_overlays>` **(** **)** |const| |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Señales
--------------
.. _class_EditorPlugin_signal_main_screen_changed:
- **main_screen_changed** **(** :ref:`String<class_String>` screen_name **)**
Emitido cuando el usuario cambia el espacio de trabajo (**2D**, **3D**, **Script**, **AssetLib**). También funciona con pantallas personalizadas definidas por plugins.
----
.. _class_EditorPlugin_signal_resource_saved:
- **resource_saved** **(** :ref:`Resource<class_Resource>` resource **)**
----
.. _class_EditorPlugin_signal_scene_changed:
- **scene_changed** **(** :ref:`Node<class_Node>` scene_root **)**
Emitido cuando se cambia la escena en el editor. El argumento devolverá el nodo raíz de la escena que se acaba de activar. Si esta escena es nueva y está vacía, el argumento será ``null``.
----
.. _class_EditorPlugin_signal_scene_closed:
- **scene_closed** **(** :ref:`String<class_String>` filepath **)**
Emitido cuando el usuario cierra una escena. El argumento es la ruta de archivo a una escena cerrada.
Enumeraciones
--------------------------
.. _enum_EditorPlugin_CustomControlContainer:
.. _class_EditorPlugin_constant_CONTAINER_TOOLBAR:
.. _class_EditorPlugin_constant_CONTAINER_SPATIAL_EDITOR_MENU:
.. _class_EditorPlugin_constant_CONTAINER_SPATIAL_EDITOR_SIDE_LEFT:
.. _class_EditorPlugin_constant_CONTAINER_SPATIAL_EDITOR_SIDE_RIGHT:
.. _class_EditorPlugin_constant_CONTAINER_SPATIAL_EDITOR_BOTTOM:
.. _class_EditorPlugin_constant_CONTAINER_CANVAS_EDITOR_MENU:
.. _class_EditorPlugin_constant_CONTAINER_CANVAS_EDITOR_SIDE_LEFT:
.. _class_EditorPlugin_constant_CONTAINER_CANVAS_EDITOR_SIDE_RIGHT:
.. _class_EditorPlugin_constant_CONTAINER_CANVAS_EDITOR_BOTTOM:
.. _class_EditorPlugin_constant_CONTAINER_PROPERTY_EDITOR_BOTTOM:
.. _class_EditorPlugin_constant_CONTAINER_PROJECT_SETTING_TAB_LEFT:
.. _class_EditorPlugin_constant_CONTAINER_PROJECT_SETTING_TAB_RIGHT:
enum **CustomControlContainer**:
- **CONTAINER_TOOLBAR** = **0**
- **CONTAINER_SPATIAL_EDITOR_MENU** = **1**
- **CONTAINER_SPATIAL_EDITOR_SIDE_LEFT** = **2**
- **CONTAINER_SPATIAL_EDITOR_SIDE_RIGHT** = **3**
- **CONTAINER_SPATIAL_EDITOR_BOTTOM** = **4**
- **CONTAINER_CANVAS_EDITOR_MENU** = **5**
- **CONTAINER_CANVAS_EDITOR_SIDE_LEFT** = **6**
- **CONTAINER_CANVAS_EDITOR_SIDE_RIGHT** = **7**
- **CONTAINER_CANVAS_EDITOR_BOTTOM** = **8**
- **CONTAINER_PROPERTY_EDITOR_BOTTOM** = **9**
- **CONTAINER_PROJECT_SETTING_TAB_LEFT** = **10**
- **CONTAINER_PROJECT_SETTING_TAB_RIGHT** = **11**
----
.. _enum_EditorPlugin_DockSlot:
.. _class_EditorPlugin_constant_DOCK_SLOT_LEFT_UL:
.. _class_EditorPlugin_constant_DOCK_SLOT_LEFT_BL:
.. _class_EditorPlugin_constant_DOCK_SLOT_LEFT_UR:
.. _class_EditorPlugin_constant_DOCK_SLOT_LEFT_BR:
.. _class_EditorPlugin_constant_DOCK_SLOT_RIGHT_UL:
.. _class_EditorPlugin_constant_DOCK_SLOT_RIGHT_BL:
.. _class_EditorPlugin_constant_DOCK_SLOT_RIGHT_UR:
.. _class_EditorPlugin_constant_DOCK_SLOT_RIGHT_BR:
.. _class_EditorPlugin_constant_DOCK_SLOT_MAX:
enum **DockSlot**:
- **DOCK_SLOT_LEFT_UL** = **0**
- **DOCK_SLOT_LEFT_BL** = **1**
- **DOCK_SLOT_LEFT_UR** = **2**
- **DOCK_SLOT_LEFT_BR** = **3**
- **DOCK_SLOT_RIGHT_UL** = **4**
- **DOCK_SLOT_RIGHT_BL** = **5**
- **DOCK_SLOT_RIGHT_UR** = **6**
- **DOCK_SLOT_RIGHT_BR** = **7**
- **DOCK_SLOT_MAX** = **8** --- Representa el tamaño del enum :ref:`DockSlot<enum_EditorPlugin_DockSlot>`.
Descripciones de Métodos
------------------------------------------------
.. _class_EditorPlugin_method_add_autoload_singleton:
- void **add_autoload_singleton** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` path **)**
Añade un script en ``path`` a la lista de Autoload como ``name``.
----
.. _class_EditorPlugin_method_add_control_to_bottom_panel:
- :ref:`ToolButton<class_ToolButton>` **add_control_to_bottom_panel** **(** :ref:`Control<class_Control>` control, :ref:`String<class_String>` title **)**
Añade un control al panel inferior (junto con la salida, depuración, animación, etc.). Devuelve una referencia al botón añadido. Depende de ti ocultar/mostrar el botón cuando sea necesario. Cuando tu plugin está desactivado, asegúrate de quitar tu control personalizado con :ref:`remove_control_from_bottom_panel<class_EditorPlugin_method_remove_control_from_bottom_panel>` y libéralo con :ref:`Node.queue_free<class_Node_method_queue_free>`.
----
.. _class_EditorPlugin_method_add_control_to_container:
- void **add_control_to_container** **(** :ref:`CustomControlContainer<enum_EditorPlugin_CustomControlContainer>` container, :ref:`Control<class_Control>` control **)**
Añade un control personalizado a un contenedor (véase :ref:`CustomControlContainer<enum_EditorPlugin_CustomControlContainer>`). Hay muchas ubicaciones donde se pueden agregar controles personalizados en la interfaz de usuario del editor.
Por favor, recuerde que tiene que gestionar la visibilidad de sus controles personalizados usted mismo (y probablemente lo oculte después de añadirlo).
Cuando tu plugin esté desactivado, asegúrate de eliminar tu control personalizado con :ref:`remove_control_from_container<class_EditorPlugin_method_remove_control_from_container>` y libéralo con :ref:`Node.queue_free<class_Node_method_queue_free>`.
----
.. _class_EditorPlugin_method_add_control_to_dock:
- void **add_control_to_dock** **(** :ref:`DockSlot<enum_EditorPlugin_DockSlot>` slot, :ref:`Control<class_Control>` control **)**
Añade el control a una ranura específica del dock (ver :ref:`DockSlot<enum_EditorPlugin_DockSlot>` para las opciones).
Si se reposiciona el dock y mientras el plugin esté activo, el editor guardará la posición del dock en sesiones posteriores.
Cuando tu plugin esté desactivado, asegúrate de eliminar tu control personalizado con :ref:`remove_control_from_docks<class_EditorPlugin_method_remove_control_from_docks>` y libéralo con :ref:`Node.queue_free<class_Node_method_queue_free>`.
----
.. _class_EditorPlugin_method_add_custom_type:
- void **add_custom_type** **(** :ref:`String<class_String>` type, :ref:`String<class_String>` base, :ref:`Script<class_Script>` script, :ref:`Texture<class_Texture>` icon **)**
Adds a custom type, which will appear in the list of nodes or resources. An icon can be optionally passed.
When given node or resource is selected, the base type will be instanced (ie, "Spatial", "Control", "Resource"), then the script will be loaded and set to this object.
You can use the virtual method :ref:`handles<class_EditorPlugin_method_handles>` to check if your custom object is being edited by checking the script or using the ``is`` keyword.
During run-time, this will be a simple object with a script so this function does not need to be called then.
----
.. _class_EditorPlugin_method_add_export_plugin:
- void **add_export_plugin** **(** :ref:`EditorExportPlugin<class_EditorExportPlugin>` plugin **)**
Registers a new :ref:`EditorExportPlugin<class_EditorExportPlugin>`. Export plugins are used to perform tasks when the project is being exported.
See :ref:`add_inspector_plugin<class_EditorPlugin_method_add_inspector_plugin>` for an example of how to register a plugin.
----
.. _class_EditorPlugin_method_add_import_plugin:
- void **add_import_plugin** **(** :ref:`EditorImportPlugin<class_EditorImportPlugin>` importer **)**
Registers a new :ref:`EditorImportPlugin<class_EditorImportPlugin>`. Import plugins are used to import custom and unsupported assets as a custom :ref:`Resource<class_Resource>` type.
\ **Note:** If you want to import custom 3D asset formats use :ref:`add_scene_import_plugin<class_EditorPlugin_method_add_scene_import_plugin>` instead.
See :ref:`add_inspector_plugin<class_EditorPlugin_method_add_inspector_plugin>` for an example of how to register a plugin.
----
.. _class_EditorPlugin_method_add_inspector_plugin:
- void **add_inspector_plugin** **(** :ref:`EditorInspectorPlugin<class_EditorInspectorPlugin>` plugin **)**
Registers a new :ref:`EditorInspectorPlugin<class_EditorInspectorPlugin>`. Inspector plugins are used to extend :ref:`EditorInspector<class_EditorInspector>` and provide custom configuration tools for your object's properties.
\ **Note:** Always use :ref:`remove_inspector_plugin<class_EditorPlugin_method_remove_inspector_plugin>` to remove the registered :ref:`EditorInspectorPlugin<class_EditorInspectorPlugin>` when your ``EditorPlugin`` is disabled to prevent leaks and an unexpected behavior.
::
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)
----
.. _class_EditorPlugin_method_add_scene_import_plugin:
- void **add_scene_import_plugin** **(** :ref:`EditorSceneImporter<class_EditorSceneImporter>` scene_importer **)**
Registers a new :ref:`EditorSceneImporter<class_EditorSceneImporter>`. Scene importers are used to import custom 3D asset formats as scenes.
----
.. _class_EditorPlugin_method_add_spatial_gizmo_plugin:
- void **add_spatial_gizmo_plugin** **(** :ref:`EditorSpatialGizmoPlugin<class_EditorSpatialGizmoPlugin>` plugin **)**
Registers a new :ref:`EditorSpatialGizmoPlugin<class_EditorSpatialGizmoPlugin>`. Gizmo plugins are used to add custom gizmos to the 3D preview viewport for a :ref:`Spatial<class_Spatial>`.
See :ref:`add_inspector_plugin<class_EditorPlugin_method_add_inspector_plugin>` for an example of how to register a plugin.
----
.. _class_EditorPlugin_method_add_tool_menu_item:
- void **add_tool_menu_item** **(** :ref:`String<class_String>` name, :ref:`Object<class_Object>` handler, :ref:`String<class_String>` callback, :ref:`Variant<class_Variant>` ud=null **)**
Añade un elemento de menú personalizado a **Proyecto > Herramientas** como ``name`` que llama a ``callback`` en una instancia de ``handler`` con un parámetro ``ud`` cuando el usuario lo activa.
----
.. _class_EditorPlugin_method_add_tool_submenu_item:
- void **add_tool_submenu_item** **(** :ref:`String<class_String>` name, :ref:`Object<class_Object>` submenu **)**
Añade un submenú personalizado en **Proyecto > Herramientas >** ``name``. El ``submenu`` debe ser un objeto de la clase :ref:`PopupMenu<class_PopupMenu>`. Este submenú debe ser limpiado usando ``remove_tool_menu_item(name)``.
----
.. _class_EditorPlugin_method_apply_changes:
- void **apply_changes** **(** **)** |virtual|
Este método se llama cuando el editor está a punto de guardar el proyecto, cambiar a otra pestaña, etc. Le pide al plugin que aplique cualquier cambio de estado pendiente para asegurar la consistencia.
Se utiliza, por ejemplo, en los editores de sombreadores para que el plugin sepa que debe aplicar el código de sombreado que está escribiendo el usuario al objeto.
----
.. _class_EditorPlugin_method_build:
- :ref:`bool<class_bool>` **build** **(** **)** |virtual|
This method is called when the editor is about to run the project. The plugin can then perform required operations before the project runs.
This method must return a boolean. If this method returns ``false``, the project will not run. The run is aborted immediately, so this also prevents all other plugins' :ref:`build<class_EditorPlugin_method_build>` methods from running.
----
.. _class_EditorPlugin_method_clear:
- void **clear** **(** **)** |virtual|
Borra todo el estado y pone a cero el objeto que se está editando. Esto asegura que tu plugin no siga editando un nodo existente o un nodo de la escena equivocada.
----
.. _class_EditorPlugin_method_disable_plugin:
- void **disable_plugin** **(** **)** |virtual|
Llamado por el motor cuando el usuario desactiva el ``EditorPlugin`` en la pestaña Plugin de la ventana de configuración del proyecto.
----
.. _class_EditorPlugin_method_edit:
- void **edit** **(** :ref:`Object<class_Object>` object **)** |virtual|
Esta función se utiliza para los plugins que editan tipos de objetos específicos (nodos o recursos). Solicita al editor que edite el objeto dado.
----
.. _class_EditorPlugin_method_enable_plugin:
- void **enable_plugin** **(** **)** |virtual|
Llamado por el motor cuando el usuario habilita el ``EditorPlugin`` en la pestaña Plugin de la ventana de configuración del proyecto.
----
.. _class_EditorPlugin_method_forward_canvas_draw_over_viewport:
- void **forward_canvas_draw_over_viewport** **(** :ref:`Control<class_Control>` overlay **)** |virtual|
Called by the engine when the 2D editor's viewport is updated. Use the ``overlay`` :ref:`Control<class_Control>` for drawing. You can update the viewport manually by calling :ref:`update_overlays<class_EditorPlugin_method_update_overlays>`.
::
func forward_canvas_draw_over_viewport(overlay):
# Draw a circle at cursor position.
overlay.draw_circle(overlay.get_local_mouse_position(), 64, Color.white)
func forward_canvas_gui_input(event):
if event is InputEventMouseMotion:
# Redraw viewport when cursor is moved.
update_overlays()
return true
return false
----
.. _class_EditorPlugin_method_forward_canvas_force_draw_over_viewport:
- void **forward_canvas_force_draw_over_viewport** **(** :ref:`Control<class_Control>` overlay **)** |virtual|
This method is the same as :ref:`forward_canvas_draw_over_viewport<class_EditorPlugin_method_forward_canvas_draw_over_viewport>`, except it draws on top of everything. Useful when you need an extra layer that shows over anything else.
You need to enable calling of this method by using :ref:`set_force_draw_over_forwarding_enabled<class_EditorPlugin_method_set_force_draw_over_forwarding_enabled>`.
----
.. _class_EditorPlugin_method_forward_canvas_gui_input:
- :ref:`bool<class_bool>` **forward_canvas_gui_input** **(** :ref:`InputEvent<class_InputEvent>` event **)** |virtual|
Llamado cuando hay un nodo raíz en la escena editada actual, se implementa :ref:`handles<class_EditorPlugin_method_handles>` y se produce un :ref:`InputEvent<class_InputEvent>` en la vista 2D. Intercepta el :ref:`InputEvent<class_InputEvent>`, si ``return true`` ``EditorPlugin`` consume el ``event``, de lo contrario reenvía el ``event`` a otras clases de Editor. Ejemplo:
::
# Previene que el InputEvent se reenvie a otras clases Editor
func forward_canvas_gui_input(event):
var adelante = true
return adelante
Obliga ``return false`` para reenviar a otras clases Editor el :ref:`InputEvent<class_InputEvent>`. Ejemplo:
::
# Consume InputEventMouseMotion y lo reenvia hacia otros tipos InputEvent
func forward_canvas_gui_input(event):
var adelante = false
if event is InputEventMouseMotion:
adelante = true
return adelante
----
.. _class_EditorPlugin_method_forward_spatial_draw_over_viewport:
- void **forward_spatial_draw_over_viewport** **(** :ref:`Control<class_Control>` overlay **)** |virtual|
Called by the engine when the 3D editor's viewport is updated. Use the ``overlay`` :ref:`Control<class_Control>` for drawing. You can update the viewport manually by calling :ref:`update_overlays<class_EditorPlugin_method_update_overlays>`.
::
func forward_spatial_draw_over_viewport(overlay):
# Draw a circle at cursor position.
overlay.draw_circle(overlay.get_local_mouse_position(), 64)
func forward_spatial_gui_input(camera, event):
if event is InputEventMouseMotion:
# Redraw viewport when cursor is moved.
update_overlays()
return true
return false
----
.. _class_EditorPlugin_method_forward_spatial_force_draw_over_viewport:
- void **forward_spatial_force_draw_over_viewport** **(** :ref:`Control<class_Control>` overlay **)** |virtual|
This method is the same as :ref:`forward_spatial_draw_over_viewport<class_EditorPlugin_method_forward_spatial_draw_over_viewport>`, except it draws on top of everything. Useful when you need an extra layer that shows over anything else.
You need to enable calling of this method by using :ref:`set_force_draw_over_forwarding_enabled<class_EditorPlugin_method_set_force_draw_over_forwarding_enabled>`.
----
.. _class_EditorPlugin_method_forward_spatial_gui_input:
- :ref:`bool<class_bool>` **forward_spatial_gui_input** **(** :ref:`Camera<class_Camera>` camera, :ref:`InputEvent<class_InputEvent>` event **)** |virtual|
Llamado cuando hay un nodo raíz en la escena editada actual, se implementa :ref:`handles<class_EditorPlugin_method_handles>` y se produce un :ref:`InputEvent<class_InputEvent>` en el puerto de visualización 3D. Intercepta el :ref:`InputEvent<class_InputEvent>`, si ``devuelve true`` ``EditorPlugin`` consume el ``event``, de lo contrario reenvía el ``event`` a otras clases de Editor. Ejemplo:
::
# Evita que el InputEvent llegue a otras clases de editores
func forward_spatial_gui_input(camera, event):
var adelante = true
return adelante
Debe ``return false`` para reenviar el :ref:`InputEvent<class_InputEvent>` a otras clases de editores. Ejemplo:
::
# Consume el InputEventMouseMotion y reenvía otros tipos de InputEvent
func forward_spatial_gui_input(camera, event):
var adelante = false
if event is InputEventMouseMotion:
adelante = true
return adelante
----
.. _class_EditorPlugin_method_get_breakpoints:
- :ref:`PoolStringArray<class_PoolStringArray>` **get_breakpoints** **(** **)** |virtual|
Esto es para los editores que editan objetos basados en scripts. Puede devolver una lista de puntos de interrupción en el formato (``script:line``), por ejemplo: ``res://ruta_a_script.gd:25``.
----
.. _class_EditorPlugin_method_get_editor_interface:
- :ref:`EditorInterface<class_EditorInterface>` **get_editor_interface** **(** **)**
Devuelve el objeto :ref:`EditorInterface<class_EditorInterface>` que le da el control sobre la ventana del editor de Godot y sus funcionalidades.
----
.. _class_EditorPlugin_method_get_plugin_icon:
- :ref:`Texture<class_Texture>` **get_plugin_icon** **(** **)** |virtual|
Override this method in your plugin to return a :ref:`Texture<class_Texture>` in order to give it an icon.
For main screen plugins, this appears at the top of the screen, to the right of the "2D", "3D", "Script", and "AssetLib" buttons.
Ideally, the plugin icon should be white with a transparent background and 16x16 pixels in size.
::
func get_plugin_icon():
# You can use a custom icon:
return preload("res://addons/my_plugin/my_plugin_icon.svg")
# Or use a built-in icon:
return get_editor_interface().get_base_control().get_icon("Node", "EditorIcons")
----
.. _class_EditorPlugin_method_get_plugin_name:
- :ref:`String<class_String>` **get_plugin_name** **(** **)** |virtual|
Sobrescribe este método en tu plugin para proporcionar el nombre del plugin cuando se muestra en el editor de Godot.
Para los plugins de la pantalla principal, esto aparece en la parte superior de la pantalla, a la derecha de los botones "2D", "3D", "Script" y "AssetLib".
----
.. _class_EditorPlugin_method_get_script_create_dialog:
- :ref:`ScriptCreateDialog<class_ScriptCreateDialog>` **get_script_create_dialog** **(** **)**
Gets the Editor's dialogue used for making scripts.
\ **Note:** Users can configure it before use.
\ **Warning:** Removing and freeing this node will render a part of the editor useless and may cause a crash.
----
.. _class_EditorPlugin_method_get_state:
- :ref:`Dictionary<class_Dictionary>` **get_state** **(** **)** |virtual|
Obtiene el estado de su editor de plugins. Se usa cuando se guarda la escena (así que el estado se mantiene al abrirla de nuevo) y para cambiar de pestaña (así que el estado puede ser restaurado cuando la pestaña vuelve).
----
.. _class_EditorPlugin_method_get_undo_redo:
- :ref:`UndoRedo<class_UndoRedo>` **get_undo_redo** **(** **)**
Consigue el objeto deshacer/rehacer. La mayoría de las acciones del editor pueden deshacerse, así que usa este objeto para asegurarte de que esto ocurra cuando valga la pena.
----
.. _class_EditorPlugin_method_get_window_layout:
- void **get_window_layout** **(** :ref:`ConfigFile<class_ConfigFile>` layout **)** |virtual|
Consigue el diseño de la interfaz gráfica del plugin. Se utiliza para guardar la disposición del editor del proyecto cuando se llama a :ref:`queue_save_layout<class_EditorPlugin_method_queue_save_layout>` o se ha cambiado la disposición del editor (por ejemplo, cambiando la posición de un dock).
----
.. _class_EditorPlugin_method_handles:
- :ref:`bool<class_bool>` **handles** **(** :ref:`Object<class_Object>` object **)** |virtual|
Implementa esta función si tu plugin edita un tipo específico de objeto (Recurso o Nodo). Si devuelves ``true``, entonces obtendrás las funciones :ref:`edit<class_EditorPlugin_method_edit>` y :ref:`make_visible<class_EditorPlugin_method_make_visible>` llamadas cuando el editor las solicite. Si has declarado los métodos :ref:`forward_canvas_gui_input<class_EditorPlugin_method_forward_canvas_gui_input>` y :ref:`forward_spatial_gui_input<class_EditorPlugin_method_forward_spatial_gui_input>` estos serán llamados también.
----
.. _class_EditorPlugin_method_has_main_screen:
- :ref:`bool<class_bool>` **has_main_screen** **(** **)** |virtual|
Devuelve ``true`` si se trata de un plugin de editor de pantalla principal (va en el selector de espacio de trabajo junto con **2D**, **3D**, **Script** y **AssetLib**).
----
.. _class_EditorPlugin_method_hide_bottom_panel:
- void **hide_bottom_panel** **(** **)**
Minimizes the bottom panel.
----
.. _class_EditorPlugin_method_make_bottom_panel_item_visible:
- void **make_bottom_panel_item_visible** **(** :ref:`Control<class_Control>` item **)**
Makes a specific item in the bottom panel visible.
----
.. _class_EditorPlugin_method_make_visible:
- void **make_visible** **(** :ref:`bool<class_bool>` visible **)** |virtual|
Esta función será llamada cuando se solicite que el editor se haga visible. Se utiliza para los plugins que editan un tipo de objeto específico.
Recuerda que tienes que gestionar la visibilidad de todos los controles del editor de forma manual.
----
.. _class_EditorPlugin_method_queue_save_layout:
- void **queue_save_layout** **(** **)** |const|
La cola guarda el diseño del editor del proyecto.
----
.. _class_EditorPlugin_method_remove_autoload_singleton:
- void **remove_autoload_singleton** **(** :ref:`String<class_String>` name **)**
Elimina un Autoload ``name`` de la lista.
----
.. _class_EditorPlugin_method_remove_control_from_bottom_panel:
- void **remove_control_from_bottom_panel** **(** :ref:`Control<class_Control>` control **)**
Quita el control del panel inferior. Tienes que manualmente :ref:`Node.queue_free<class_Node_method_queue_free>` el control.
----
.. _class_EditorPlugin_method_remove_control_from_container:
- void **remove_control_from_container** **(** :ref:`CustomControlContainer<enum_EditorPlugin_CustomControlContainer>` container, :ref:`Control<class_Control>` control **)**
Retira el control del contenedor especificado. Tienes que hacer manualmente :ref:`Node.queue_free<class_Node_method_queue_free>` el control.
----
.. _class_EditorPlugin_method_remove_control_from_docks:
- void **remove_control_from_docks** **(** :ref:`Control<class_Control>` control **)**
Quita el control del dock. Tienes que manualmente :ref:`Node.queue_free<class_Node_method_queue_free>` el control.
----
.. _class_EditorPlugin_method_remove_custom_type:
- void **remove_custom_type** **(** :ref:`String<class_String>` type **)**
Elimina un tipo personalizado añadido por :ref:`add_custom_type<class_EditorPlugin_method_add_custom_type>`.
----
.. _class_EditorPlugin_method_remove_export_plugin:
- void **remove_export_plugin** **(** :ref:`EditorExportPlugin<class_EditorExportPlugin>` plugin **)**
Removes an export plugin registered by :ref:`add_export_plugin<class_EditorPlugin_method_add_export_plugin>`.
----
.. _class_EditorPlugin_method_remove_import_plugin:
- void **remove_import_plugin** **(** :ref:`EditorImportPlugin<class_EditorImportPlugin>` importer **)**
Removes an import plugin registered by :ref:`add_import_plugin<class_EditorPlugin_method_add_import_plugin>`.
----
.. _class_EditorPlugin_method_remove_inspector_plugin:
- void **remove_inspector_plugin** **(** :ref:`EditorInspectorPlugin<class_EditorInspectorPlugin>` plugin **)**
Removes an inspector plugin registered by :ref:`add_import_plugin<class_EditorPlugin_method_add_import_plugin>`
----
.. _class_EditorPlugin_method_remove_scene_import_plugin:
- void **remove_scene_import_plugin** **(** :ref:`EditorSceneImporter<class_EditorSceneImporter>` scene_importer **)**
Removes a scene importer registered by :ref:`add_scene_import_plugin<class_EditorPlugin_method_add_scene_import_plugin>`.
----
.. _class_EditorPlugin_method_remove_spatial_gizmo_plugin:
- void **remove_spatial_gizmo_plugin** **(** :ref:`EditorSpatialGizmoPlugin<class_EditorSpatialGizmoPlugin>` plugin **)**
Removes a gizmo plugin registered by :ref:`add_spatial_gizmo_plugin<class_EditorPlugin_method_add_spatial_gizmo_plugin>`.
----
.. _class_EditorPlugin_method_remove_tool_menu_item:
- void **remove_tool_menu_item** **(** :ref:`String<class_String>` name **)**
Elimina un menú ``name`` de **Proyecto > Herramientas**.
----
.. _class_EditorPlugin_method_save_external_data:
- void **save_external_data** **(** **)** |virtual|
Este método se llama después de que el editor guarda el proyecto o cuando se cierra. Le pide al plugin que guarde las escenas/recursos externos editados.
----
.. _class_EditorPlugin_method_set_force_draw_over_forwarding_enabled:
- void **set_force_draw_over_forwarding_enabled** **(** **)**
Enables calling of :ref:`forward_canvas_force_draw_over_viewport<class_EditorPlugin_method_forward_canvas_force_draw_over_viewport>` for the 2D editor and :ref:`forward_spatial_force_draw_over_viewport<class_EditorPlugin_method_forward_spatial_force_draw_over_viewport>` for the 3D editor when their viewports are updated. You need to call this method only once and it will work permanently for this plugin.
----
.. _class_EditorPlugin_method_set_input_event_forwarding_always_enabled:
- void **set_input_event_forwarding_always_enabled** **(** **)**
Utilice este método si siempre quiere recibir entradas de la pantalla de vista 3D dentro de :ref:`forward_spatial_gui_input<class_EditorPlugin_method_forward_spatial_gui_input>`. Puede ser especialmente útil si tu plugin quiere usar raycast en la escena.
----
.. _class_EditorPlugin_method_set_state:
- void **set_state** **(** :ref:`Dictionary<class_Dictionary>` state **)** |virtual|
Restaurar el estado guardado por :ref:`get_state<class_EditorPlugin_method_get_state>`.
----
.. _class_EditorPlugin_method_set_window_layout:
- void **set_window_layout** **(** :ref:`ConfigFile<class_ConfigFile>` layout **)** |virtual|
Restaurar el diseño del plugin GUI guardado por :ref:`get_window_layout<class_EditorPlugin_method_get_window_layout>`.
----
.. _class_EditorPlugin_method_update_overlays:
- :ref:`int<class_int>` **update_overlays** **(** **)** |const|
Updates the overlays of the 2D and 3D editor viewport. Causes methods :ref:`forward_canvas_draw_over_viewport<class_EditorPlugin_method_forward_canvas_draw_over_viewport>`, :ref:`forward_canvas_force_draw_over_viewport<class_EditorPlugin_method_forward_canvas_force_draw_over_viewport>`, :ref:`forward_spatial_draw_over_viewport<class_EditorPlugin_method_forward_spatial_draw_over_viewport>` and :ref:`forward_spatial_force_draw_over_viewport<class_EditorPlugin_method_forward_spatial_force_draw_over_viewport>` to be called.
.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`