diff options
Diffstat (limited to 'doc/classes')
-rw-r--r-- | doc/classes/EditorImportPlugin.xml | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/doc/classes/EditorImportPlugin.xml b/doc/classes/EditorImportPlugin.xml index 0ced30bda6..05319e926c 100644 --- a/doc/classes/EditorImportPlugin.xml +++ b/doc/classes/EditorImportPlugin.xml @@ -1,8 +1,54 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="EditorImportPlugin" inherits="Reference" category="Core" version="3.0.alpha.custom_build"> <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> <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> <tutorials> </tutorials> @@ -15,12 +61,14 @@ <argument index="0" name="preset" type="int"> </argument> <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> </method> <method name="get_importer_name" qualifiers="virtual"> <return type="String"> </return> <description> + Get the unique name of the importer. </description> </method> <method name="get_option_visibility" qualifiers="virtual"> @@ -37,6 +85,7 @@ <return type="int"> </return> <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> </method> <method name="get_preset_name" qualifiers="virtual"> @@ -45,30 +94,35 @@ <argument index="0" name="preset" type="int"> </argument> <description> + Get the name of the options preset at this index. </description> </method> <method name="get_recognized_extensions" qualifiers="virtual"> <return type="Array"> </return> <description> + Get the list of file extensions to associate with this loader (case insensitive). e.g. ["obj"]. </description> </method> <method name="get_resource_type" qualifiers="virtual"> <return type="String"> </return> <description> + Get the godot resource type associated with this loader. e.g. "Mesh" or "Animation". </description> </method> <method name="get_save_extension" qualifiers="virtual"> <return type="String"> </return> <description> + Get the extension used to save this resource in the [code].import[/code] directory. </description> </method> <method name="get_visible_name" qualifiers="virtual"> <return type="String"> </return> <description> + Get the name to display in the import window. </description> </method> <method name="import" qualifiers="virtual"> |