148 lines
4.8 KiB
XML
148 lines
4.8 KiB
XML
<?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_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
|
|
[/codeblock]
|
|
</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>
|
|
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">
|
|
<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>
|
|
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">
|
|
<return type="String">
|
|
</return>
|
|
<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">
|
|
<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>
|