2017-09-12 22:42:36 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2018-01-25 08:50:56 +01:00
<class name= "EditorImportPlugin" inherits= "Reference" category= "Core" version= "3.0-stable" >
2017-09-12 22:42:36 +02:00
<brief_description >
2017-09-15 22:32:02 +02:00
Registers a custom resource importer in the editor. Use the class to parse any file and import it as a new resource type.
2017-09-12 22:42:36 +02:00
</brief_description>
<description >
2017-09-15 22:32:02 +02:00
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"
2017-10-14 12:45:26 +02:00
func get_import_options(i):
2017-09-15 22:32:02 +02:00
return [{"name": "my_option", "default_value": false}]
func load(src, dst, opts, r_platform_variants, r_gen_files):
2017-10-24 18:12:43 +02:00
var file = File.new()
if file.open(src, File.READ) != OK:
2017-09-15 22:32:02 +02:00
return FAILED
var mesh = Mesh.new()
var save = dst + "." + get_save_extension()
ResourceSaver.save(file, mesh)
return OK
[/codeblock]
2017-09-12 22:42:36 +02:00
</description>
<tutorials >
</tutorials>
<demos >
</demos>
<methods >
<method name= "get_import_options" qualifiers= "virtual" >
<return type= "Array" >
</return>
<argument index= "0" name= "preset" type= "int" >
</argument>
<description >
2017-09-15 22:32:02 +02:00
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).
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_importer_name" qualifiers= "virtual" >
<return type= "String" >
</return>
<description >
2017-09-15 22:32:02 +02:00
Get the unique name of the importer.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_option_visibility" qualifiers= "virtual" >
<return type= "bool" >
</return>
<argument index= "0" name= "option" type= "String" >
</argument>
<argument index= "1" name= "options" type= "Dictionary" >
</argument>
<description >
</description>
</method>
<method name= "get_preset_count" qualifiers= "virtual" >
<return type= "int" >
</return>
<description >
2017-09-15 22:32:02 +02:00
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.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_preset_name" qualifiers= "virtual" >
<return type= "String" >
</return>
<argument index= "0" name= "preset" type= "int" >
</argument>
<description >
2017-09-15 22:32:02 +02:00
Get the name of the options preset at this index.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_recognized_extensions" qualifiers= "virtual" >
<return type= "Array" >
</return>
<description >
2017-09-15 22:32:02 +02:00
Get the list of file extensions to associate with this loader (case insensitive). e.g. ["obj"].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_resource_type" qualifiers= "virtual" >
<return type= "String" >
</return>
<description >
2017-09-15 22:32:02 +02:00
Get the godot resource type associated with this loader. e.g. "Mesh" or "Animation".
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_save_extension" qualifiers= "virtual" >
<return type= "String" >
</return>
<description >
2017-09-15 22:32:02 +02:00
Get the extension used to save this resource in the [code].import[/code] directory.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_visible_name" qualifiers= "virtual" >
<return type= "String" >
</return>
<description >
2017-09-15 22:32:02 +02:00
Get the name to display in the import window.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "import" qualifiers= "virtual" >
<return type= "int" >
</return>
<argument index= "0" name= "source_file" type= "String" >
</argument>
<argument index= "1" name= "save_path" type= "String" >
</argument>
<argument index= "2" name= "options" type= "Dictionary" >
</argument>
<argument index= "3" name= "r_platform_variants" type= "Array" >
</argument>
<argument index= "4" name= "r_gen_files" type= "Array" >
</argument>
<description >
</description>
</method>
</methods>
<constants >
</constants>
</class>