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

Array

get_import_options ( int preset ) virtual

int

get_import_order ( ) virtual

String

get_importer_name ( ) virtual

bool

get_option_visibility ( String option, Dictionary options ) virtual

int

get_preset_count ( ) virtual

String

get_preset_name ( int preset ) virtual

float

get_priority ( ) virtual

Array

get_recognized_extensions ( ) virtual

String

get_resource_type ( ) virtual

String

get_save_extension ( ) virtual

String

get_visible_name ( ) virtual

int

import ( String source_file, String save_path, Dictionary options, Array platform_variants, Array gen_files ) virtual

Descripciones de Métodos

  • Array get_import_options ( int preset ) virtual

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.


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.


  • String get_preset_name ( int preset ) virtual

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".


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.