EditorImportPlugin¶
Inherits: ResourceImporter < Reference < Object
Registra un importador de recursos personalizados en el editor. Usa la clase para analizar cualquier archivo e importarlo como un nuevo tipo de recurso.
Descripción¶
EditorImportPlugins proporcionan una forma de ampliar la funcionalidad de importación de recursos del editor. Utilícelos para importar recursos de archivos personalizados o para proporcionar alternativas a los importadores existentes del editor. Registra tu EditorPlugin con el EditorPlugin.add_import_plugin.
Los EditorImportPlugins funcionan asociándose a extensiones de archivo específicas y a un tipo de recurso. Ver get_recognized_extensions y get_resource_type. Opcionalmente, pueden especificar algunos preajustes de importación que afectan al proceso de importación. Los EditorImportPlugins se encargan de crear los recursos y de guardarlos en el directorio .import
.
A continuación se muestra un ejemplo de EditorImportPlugin que importa un Mesh de un archivo con la extensión ".special" o ".spec":
tool
extends EditorImportPlugin
func get_importer_name():
return "my.special.plugin"
func get_visible_name():
return "Importador de malla especial"
func get_recognized_extensions():
return ["special", "spec"]
func get_save_extension():
return "malla"
func get_resource_type():
return "Malla"
func get_preset_count():
return 1
func get_preset_name(i):
return "Default"
func get_import_options(i):
return [{"name": "mi_opcion", "default_value": false}]
func import(archivo_fuente, salvar_ruta, opciones, variables_plataforma, archivos_generados):
var archivo = File.new()
if archivo.open(archivo_fuente, File.READ) != OK:
return FAILED
var malla = Mesh.new()
# Rellena la malla con los datos leidos de archivo, se deje como un ejecicio al lector
var nombreArchivo = salvar_ruta + "." + get_save_extension()
ResourceSaver.save(nombreArchivo, malla)
return OK
Tutoriales¶
Métodos¶
get_import_options ( int preset ) virtual |
|
get_import_order ( ) virtual |
|
get_importer_name ( ) virtual |
|
get_option_visibility ( String option, Dictionary options ) virtual |
|
get_preset_count ( ) virtual |
|
get_preset_name ( int preset ) virtual |
|
get_priority ( ) virtual |
|
get_recognized_extensions ( ) virtual |
|
get_resource_type ( ) virtual |
|
get_save_extension ( ) virtual |
|
get_visible_name ( ) virtual |
|
import ( String source_file, String save_path, Dictionary options, Array platform_variants, Array gen_files ) virtual |
Descripciones de Métodos¶
Obtiene las opciones y los valores por defecto para el preajuste en este índice. Devuelve un array de diccionarios con las siguientes claves: name
, default_value
, property_hint
(opcional), hint_string
(opcional), uso
(opcional).
int get_import_order ( ) virtual
Gets the order of this importer to be run when importing resources. Importers with lower import orders will be called first, and higher values will be called later. Use this to ensure the importer runs after the dependencies are already imported. The default import order is 0
unless overridden by a specific importer. See ImportOrder for some predefined values.
String get_importer_name ( ) virtual
Obtiene el nombre único del importador.
bool get_option_visibility ( String option, Dictionary options ) virtual
Este método puede anularse para ocultar opciones de importación específicas si se cumplen las condiciones. Esto es principalmente útil para ocultar opciones que dependen de otras si una de ellas está desactivada. Por ejemplo:
func get_option_visibility(option, options):
# Sólo muestra el ajuste de calidad de pérdida si el modo de compresión está ajustado a "pérdida".
if option == "compress/lossy_quality" y options.has("compress/mode"):
return int(options["compress/mode"]) == COMPRESS_LOSSY
retorno true
Devuelve true
para que todas las opciones estén siempre visibles.
int get_preset_count ( ) virtual
Obtiene el número de preajustes iniciales definidos por el plugin. Usa get_import_options para obtener las opciones por defecto de preajuste y get_preset_name para obtener el nombre del preajuste.
Obtiene el nombre de las opciones de preajuste en este índice.
float get_priority ( ) virtual
Obtiene la prioridad de este plugin para la extensión reconocida. Se preferirán los plugins de mayor prioridad. La prioridad por defecto es 1.0
.
Array get_recognized_extensions ( ) virtual
Obtiene la lista de extensiones de archivos para asociar con este cargador (sin distinción de mayúsculas y minúsculas). Por ejemplo, ["obj"]
.
String get_resource_type ( ) virtual
Obtiene el tipo de recurso Godot asociado a este cargador. Por ejemplo, "Mesh"
o "Animation"
.
String get_save_extension ( ) virtual
Gets the extension used to save this resource in the .import
directory (see ProjectSettings.application/config/use_hidden_project_data_directory).
String get_visible_name ( ) virtual
Gets the name to display in the import window. You should choose this name as a continuation to "Import as", e.g. "Import as Special Mesh".
int import ( String source_file, String save_path, Dictionary options, Array platform_variants, Array gen_files ) virtual
Importa el source_file
en save_path
con las opciones de importación options
especificadas. Los arrays platform_variants
y gen_files
serán modificadas por esta función.
Este método debe ser anulado para hacer el trabajo de importación real. Ver la descripción de esta clase para un ejemplo de cómo sobreescribir este método.