ResourceUID

Hereda: Object

Un singleton que administra los identificadores únicos de todos los recursos dentro de un proyecto.

Descripción

Los UID (Identificadores Únicos) de los recursos permiten que el motor mantenga las referencias entre los recursos intactos, incluso si los archivos se renombran o se mueven. Se puede acceder a ellos con uid://.

ResourceUID realiza un seguimiento de todos los UID de recursos registrados en un proyecto, genera nuevos UID y convierte entre sus representaciones de string y enteras.

Métodos

void

add_id(id: int, path: String)

int

create_id()

int

create_id_for_path(path: String)

String

ensure_path(path_or_uid: String) static

String

get_id_path(id: int) const

bool

has_id(id: int) const

String

id_to_text(id: int) const

String

path_to_uid(path: String) static

void

remove_id(id: int)

void

set_id(id: int, path: String)

int

text_to_id(text_id: String) const

String

uid_to_path(uid: String) static


Constantes

INVALID_ID = -1 🔗

El valor a utilizar para un UID no válido, por ejemplo, si el recurso no se pudo cargar.

Su representación de texto es uid://<invalid>.


Descripciones de Métodos

void add_id(id: int, path: String) 🔗

Añade un nuevo valor de UID que se asigna a la ruta del recurso dado.

Falla con un error si el UID ya existe, así que asegúrate de comprobar has_id() de antemano, o usa set_id() en su lugar.


int create_id() 🔗

Genera un UID de recurso aleatorio que garantiza que sea único dentro de la lista de UIDs cargados actualmente.

Para que este UID se registre, debes llamar a add_id() o set_id().


int create_id_for_path(path: String) 🔗

Como create_id(), pero el UID se inicializa con la path proporcionada y el nombre del proyecto. Los UID generados para esa ruta siempre serán los mismos dentro del proyecto actual.


String ensure_path(path_or_uid: String) static 🔗

Devuelve una ruta, convirtiendo path_or_uid si es necesario. Imprime un error si se proporciona un UID no válido.


String get_id_path(id: int) const 🔗

Devuelve la ruta a la que se refiere el valor UID dado.

Falla con un error si el UID no existe, así que asegúrate de comprobar has_id() de antemano.


bool has_id(id: int) const 🔗

Devuelve si el valor de UID dado es conocido por la caché.


String id_to_text(id: int) const 🔗

Convierte el UID dado en un valor de string uid://.


String path_to_uid(path: String) static 🔗

Convierte el recurso proporcionado path en un UID. Devuelve la ruta sin cambios si no tiene un UID asociado.


void remove_id(id: int) 🔗

Elimina un valor UID cargado de la caché.

Se produce un error si el UID no existe, así que asegúrate de comprobar has_id() de antemano.


void set_id(id: int, path: String) 🔗

Actualiza la ruta del recurso de un UID existente.

Falla con un error si el UID no existe, así que asegúrate de comprobar has_id() de antemano, o usa add_id() en su lugar.


int text_to_id(text_id: String) const 🔗

Extrae el valor UID de la uid:// string dada.


String uid_to_path(uid: String) static 🔗

Convierte el uid proporcionado a una ruta. Imprime un error si el UID no es válido.