Files
godot-docs/classes/class_editorimportplugin.rst
2017-11-07 11:11:44 +01:00

159 lines
11 KiB
ReStructuredText

.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
.. DO NOT EDIT THIS FILE, but the EditorImportPlugin.xml source instead.
.. The source is found in doc/classes or modules/<name>/doc_classes.
.. _class_EditorImportPlugin:
EditorImportPlugin
==================
**Inherits:** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`
**Category:** Core
Brief Description
-----------------
Registers a custom resource importer in the editor. Use the class to parse any file and import it as a new resource type.
Member Functions
----------------
+------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_array>` | :ref:`get_import_options<class_EditorImportPlugin_get_import_options>` **(** :ref:`int<class_int>` preset **)** virtual |
+------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_string>` | :ref:`get_importer_name<class_EditorImportPlugin_get_importer_name>` **(** **)** virtual |
+------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`get_option_visibility<class_EditorImportPlugin_get_option_visibility>` **(** :ref:`String<class_string>` option, :ref:`Dictionary<class_dictionary>` options **)** virtual |
+------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_preset_count<class_EditorImportPlugin_get_preset_count>` **(** **)** virtual |
+------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_string>` | :ref:`get_preset_name<class_EditorImportPlugin_get_preset_name>` **(** :ref:`int<class_int>` preset **)** virtual |
+------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_array>` | :ref:`get_recognized_extensions<class_EditorImportPlugin_get_recognized_extensions>` **(** **)** virtual |
+------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_string>` | :ref:`get_resource_type<class_EditorImportPlugin_get_resource_type>` **(** **)** virtual |
+------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_string>` | :ref:`get_save_extension<class_EditorImportPlugin_get_save_extension>` **(** **)** virtual |
+------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_string>` | :ref:`get_visible_name<class_EditorImportPlugin_get_visible_name>` **(** **)** virtual |
+------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`import<class_EditorImportPlugin_import>` **(** :ref:`String<class_string>` source_file, :ref:`String<class_string>` save_path, :ref:`Dictionary<class_dictionary>` options, :ref:`Array<class_array>` r_platform_variants, :ref:`Array<class_array>` r_gen_files **)** virtual |
+------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Description
-----------
EditorImportPlugins provide a way to extend the editor's resource import functionality. Use them to import resources from custom files or to provide alternatives to the editor's existing importers. Register your :ref:`EditorPlugin<class_editorplugin>` with :ref:`EditorPlugin.add_import_plugin<class_EditorPlugin_add_import_plugin>`.
EditorImportPlugins work by associating with specific file extensions and a resource type. See :ref:`get_recognized_extension<class_EditorImportPlugin_get_recognized_extension>` and :ref:`get_resource_type<class_EditorImportPlugin_get_resource_type>`). They may optionally specify some import presets that affect the import process. EditorImportPlugins are responsible for creating the resources and saving them in the ``.import`` directory.
Below is an example EditorImportPlugin that imports a :ref:`Mesh<class_mesh>` from a file with the extension ".special" or ".spec":
::
tool
extends EditorImportPlugin
func get_importer_name():
return "my.special.plugin"
func get_visible_name():
return "Special Mesh Importer"
func get_recognized_extensions():
return ["special", "spec"]
func get_save_extension():
return "mesh"
func get_resource_type():
return "Mesh"
func get_preset_count():
return 1
func get_preset_name(i):
return "Default"
func get_import_options(i):
return [{"name": "my_option", "default_value": false}]
func load(src, dst, opts, r_platform_variants, r_gen_files):
var file = File.new()
if file.open(src, File.READ) != OK:
return FAILED
var mesh = Mesh.new()
var save = dst + "." + get_save_extension()
ResourceSaver.save(file, mesh)
return OK
Member Function Description
---------------------------
.. _class_EditorImportPlugin_get_import_options:
- :ref:`Array<class_array>` **get_import_options** **(** :ref:`int<class_int>` preset **)** virtual
Get the options and default values for the preset at this index. Returns an Array of Dictionaries with the following keys: "name", "default_value", "property_hint" (optional), "hint_string" (optional), "usage" (optional).
.. _class_EditorImportPlugin_get_importer_name:
- :ref:`String<class_string>` **get_importer_name** **(** **)** virtual
Get the unique name of the importer.
.. _class_EditorImportPlugin_get_option_visibility:
- :ref:`bool<class_bool>` **get_option_visibility** **(** :ref:`String<class_string>` option, :ref:`Dictionary<class_dictionary>` options **)** virtual
.. _class_EditorImportPlugin_get_preset_count:
- :ref:`int<class_int>` **get_preset_count** **(** **)** virtual
Get the number of initial presets defined by the plugin. Use :ref:`get_import_options<class_EditorImportPlugin_get_import_options>` to get the default options for the preset and :ref:`get_preset_name<class_EditorImportPlugin_get_preset_name>` to get the name of the preset.
.. _class_EditorImportPlugin_get_preset_name:
- :ref:`String<class_string>` **get_preset_name** **(** :ref:`int<class_int>` preset **)** virtual
Get the name of the options preset at this index.
.. _class_EditorImportPlugin_get_recognized_extensions:
- :ref:`Array<class_array>` **get_recognized_extensions** **(** **)** virtual
Get the list of file extensions to associate with this loader (case insensitive). e.g. "obj".
.. _class_EditorImportPlugin_get_resource_type:
- :ref:`String<class_string>` **get_resource_type** **(** **)** virtual
Get the godot resource type associated with this loader. e.g. "Mesh" or "Animation".
.. _class_EditorImportPlugin_get_save_extension:
- :ref:`String<class_string>` **get_save_extension** **(** **)** virtual
Get the extension used to save this resource in the ``.import`` directory.
.. _class_EditorImportPlugin_get_visible_name:
- :ref:`String<class_string>` **get_visible_name** **(** **)** virtual
Get the name to display in the import window.
.. _class_EditorImportPlugin_import:
- :ref:`int<class_int>` **import** **(** :ref:`String<class_string>` source_file, :ref:`String<class_string>` save_path, :ref:`Dictionary<class_dictionary>` options, :ref:`Array<class_array>` r_platform_variants, :ref:`Array<class_array>` r_gen_files **)** virtual