Added EditorImportPlugin class ref docs

This commit is contained in:
Ralph Minderhoud 2017-09-15 15:32:02 -05:00
parent 25f742cc3d
commit ef0671763e
1 changed files with 54 additions and 0 deletions

View File

@ -1,8 +1,54 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<class name="EditorImportPlugin" inherits="Reference" category="Core" version="3.0.alpha.custom_build"> <class name="EditorImportPlugin" inherits="Reference" category="Core" version="3.0.alpha.custom_build">
<brief_description> <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.
</brief_description> </brief_description>
<description> <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 [EditorPlugin] with [method EditorPlugin.add_import_plugin].
EditorImportPlugins work by associating with specific file extensions and a resource type. See [method get_recognized_extension] and [method 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 [code].import[/code] directory.
Below is an example EditorImportPlugin that imports a [Mesh] from a file with the extension ".special" or ".spec":
[codeblock]
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_optons(i):
return [{"name": "my_option", "default_value": false}]
func load(src, dst, opts, r_platform_variants, r_gen_files):
var f = File.new()
if f.open(src, File.READ) != OK:
return FAILED
var mesh = Mesh.new()
var save = dst + "." + get_save_extension()
ResourceSaver.save(file, mesh)
return OK
[/codeblock]
</description> </description>
<tutorials> <tutorials>
</tutorials> </tutorials>
@ -15,12 +61,14 @@
<argument index="0" name="preset" type="int"> <argument index="0" name="preset" type="int">
</argument> </argument>
<description> <description>
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).
</description> </description>
</method> </method>
<method name="get_importer_name" qualifiers="virtual"> <method name="get_importer_name" qualifiers="virtual">
<return type="String"> <return type="String">
</return> </return>
<description> <description>
Get the unique name of the importer.
</description> </description>
</method> </method>
<method name="get_option_visibility" qualifiers="virtual"> <method name="get_option_visibility" qualifiers="virtual">
@ -37,6 +85,7 @@
<return type="int"> <return type="int">
</return> </return>
<description> <description>
Get the number of initial presets defined by the plugin. Use [method get_import_options] to get the default options for the preset and [method get_preset_name] to get the name of the preset.
</description> </description>
</method> </method>
<method name="get_preset_name" qualifiers="virtual"> <method name="get_preset_name" qualifiers="virtual">
@ -45,30 +94,35 @@
<argument index="0" name="preset" type="int"> <argument index="0" name="preset" type="int">
</argument> </argument>
<description> <description>
Get the name of the options preset at this index.
</description> </description>
</method> </method>
<method name="get_recognized_extensions" qualifiers="virtual"> <method name="get_recognized_extensions" qualifiers="virtual">
<return type="Array"> <return type="Array">
</return> </return>
<description> <description>
Get the list of file extensions to associate with this loader (case insensitive). e.g. ["obj"].
</description> </description>
</method> </method>
<method name="get_resource_type" qualifiers="virtual"> <method name="get_resource_type" qualifiers="virtual">
<return type="String"> <return type="String">
</return> </return>
<description> <description>
Get the godot resource type associated with this loader. e.g. "Mesh" or "Animation".
</description> </description>
</method> </method>
<method name="get_save_extension" qualifiers="virtual"> <method name="get_save_extension" qualifiers="virtual">
<return type="String"> <return type="String">
</return> </return>
<description> <description>
Get the extension used to save this resource in the [code].import[/code] directory.
</description> </description>
</method> </method>
<method name="get_visible_name" qualifiers="virtual"> <method name="get_visible_name" qualifiers="virtual">
<return type="String"> <return type="String">
</return> </return>
<description> <description>
Get the name to display in the import window.
</description> </description>
</method> </method>
<method name="import" qualifiers="virtual"> <method name="import" qualifiers="virtual">