Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
ResourceFormatLoader
Eredita: RefCounted < Object
Carica un tipo di risorsa specifico da un file.
Descrizione
Godot carica le risorse nell'editor o nei giochi esportati attraverso i ResourceFormatLoader. Vengono interrogati automaticamente tramite il singleton ResourceLoader o quando viene caricata una risorsa con dipendenze interne. È possibile caricare ogni tipo di file come un tipo di risorsa diverso, quindi più ResourceFormatLoader vengono registrati nel motore.
Estendere questa classe consente di definire il proprio loader. Assicurarsi di rispettare i tipi di ritorno e i valori documentati. Sarebbe necessario dargli un nome di classe globale con class_name affinché venga registrato. Come i ResourceFormatLoader integrati, verrà chiamato automaticamente quando si caricano le risorse dei suoi tipi gestiti. È possibile anche implementare un ResourceFormatSaver.
Nota: È possibile anche estendere EditorImportPlugin se il tipo di risorsa di cui c'è bisogno esiste ma Godot non è in grado di caricarne il formato. La scelta dipende dal fatto che il formato sia adatto o meno per il gioco esportato finale. Ad esempio, è meglio importare prima le texture .png come .ctex (CompressedTexture2D), in modo che possano essere caricate con maggiore efficienza sulla scheda grafica.
Metodi
_get_classes_used(path: String) virtual const |
|
_get_dependencies(path: String, add_types: bool) virtual const |
|
_get_recognized_extensions() virtual const |
|
_get_resource_script_class(path: String) virtual const |
|
_get_resource_type(path: String) virtual const |
|
_get_resource_uid(path: String) virtual const |
|
_handles_type(type: StringName) virtual const |
|
_load(path: String, original_path: String, use_sub_threads: bool, cache_mode: int) virtual required const |
|
_recognize_path(path: String, type: StringName) virtual const |
|
_rename_dependencies(path: String, renames: Dictionary) virtual const |
Enumerazioni
enum CacheMode: 🔗
CacheMode CACHE_MODE_IGNORE = 0
Né la risorsa principale (quella di cui si richiede il caricamento) né alcuna delle sue sotto-risorse sono recuperate dalla cache né memorizzate in essa. Le dipendenze (ovvero le risorse esterne) sono caricate con CACHE_MODE_REUSE.
CacheMode CACHE_MODE_REUSE = 1
La risorsa principale (quella di cui si richiede il caricamento), le sue sotto-risorse e le sue dipendenze (risorse esterne) sono recuperate dalla cache se presenti, anziché caricate. Quelle non memorizzate nella cache sono caricate e quindi memorizzate nella cache. Le stesse regole sono propagate ricorsivamente lungo l'albero delle dipendenze (ovvero le risorse esterne).
CacheMode CACHE_MODE_REPLACE = 2
Come CACHE_MODE_REUSE, ma la cache è verificata per la risorsa principale (quella di cui si richiede il caricamento) e per ciascuna delle sue sotto-risorse. Quelle già nella cache, se i tipi caricati e memorizzati nella cache corrispondono, hanno i loro dati aggiornati dal disco nelle istanze già esistenti. Altrimenti, sono ricreate come oggetti completamente nuovi.
CacheMode CACHE_MODE_IGNORE_DEEP = 3
Simile a CACHE_MODE_IGNORE, ma propagato ricorsivamente lungo l'albero delle dipendenze (ovvero le risorse esterne).
CacheMode CACHE_MODE_REPLACE_DEEP = 4
Simile a CACHE_MODE_REPLACE, ma propagato ricorsivamente lungo l'albero delle dipendenze (ovvero le risorse esterne).
Descrizioni dei metodi
bool _exists(path: String) virtual const 🔗
There is currently no description for this method. Please help us by contributing one!
PackedStringArray _get_classes_used(path: String) virtual const 🔗
There is currently no description for this method. Please help us by contributing one!
PackedStringArray _get_dependencies(path: String, add_types: bool) virtual const 🔗
Dovrebbe restituire le dipendenze per la risorsa nel percorso path. Ogni dipendenza è una stringa composta da una a tre sezioni separate da ::, con le sezioni vuote finali omesse:
La prima sezione dovrebbe contenere l'UID se la risorsa ne ha uno. Se non, dovrebbe contenere il percorso del file.
La seconda sezione dovrebbe contenere il nome della classe della dipendenza se
add_typesètrue. Se non, dovrebbe essere vuota.La terza sezione dovrebbe contenere il percorso alternativo se la risorsa ha un UID. Se non, dovrebbe essere vuota.
func _get_dependencies(path, add_types):
return [
"uid://fqgvuwrkuixh::Script::res://script.gd",
"uid://fqgvuwrkuixh::::res://script.gd",
"res://script.gd::Script",
"res://script.gd",
]
Nota: i tipi personalizzati di risorse definiti dagli script non sono noti al ClassDB, quindi è possibile utilizzare "Resource" per il nome della classe.
PackedStringArray _get_recognized_extensions() virtual const 🔗
Ottiene la lista delle estensioni dei file che questo caricatore è in grado di leggere.
String _get_resource_script_class(path: String) virtual const 🔗
Restituisce il nome della classe di script associata alla Resource nel percorso path specificato. Se la risorsa non ha script o lo script non è una classe con nome, dovrebbe restituire "".
String _get_resource_type(path: String) virtual const 🔗
Ottiene il nome della classe della risorsa associata al percorso specificato. Se il caricatore non riesce a gestirlo, dovrebbe restituire "".
Nota: I tipi di risorse personalizzati definiti dagli script non sono noti a ClassDB, quindi per loro potresti semplicemente restituire "Resource".
int _get_resource_uid(path: String) virtual const 🔗
Dovrebbe restituire l'ID univoco per la risorsa associata al percorso specificato. Se questo metodo non è sovrascritto, viene generato un file .uid insieme al file della risorsa, contenente l'ID univoco.
bool _handles_type(type: StringName) virtual const 🔗
Indica quale classe di risorse questo caricatore può caricare.
Nota: I tipi di risorse personalizzati definiti dagli script non sono noti a ClassDB, quindi per loro potresti semplicemente restituire "Resource".
Variant _load(path: String, original_path: String, use_sub_threads: bool, cache_mode: int) virtual required const 🔗
Carica una risorsa quando il motore ritiene che questo caricatore è compatibile. Se la risorsa caricata è il risultato di un'importazione, original_path punterà al file sorgente. Restituisce un oggetto Resource in caso di successo o una costante di Error in caso di errore.
La proprietà cache_mode definisce se e come la cache deve essere utilizzata o aggiornata durante il caricamento della risorsa. Vedi CacheMode per i dettagli.
bool _recognize_path(path: String, type: StringName) virtual const 🔗
Indica se questo caricatore deve caricare una risorsa dal suo percorso per un determinato tipo.
Se non è implementato, il comportamento predefinito restituisce se l'estensione nel percorso è compresa tra quelle fornite da _get_recognized_extensions() e se il tipo è compreso tra quelli forniti da _get_resource_type().
Error _rename_dependencies(path: String, renames: Dictionary) virtual const 🔗
Se implementato, rinomina le dipendenze all'interno della risorsa specificata e le salva. renames è un dizionario { String => String } che mappa i vecchi percorsi delle dipendenze ai nuovi percorsi.
Restituisce @GlobalScope.OK in caso di successo o una costante di Error in caso di errore.