ResourceUID

继承: Object

管理项目中所有资源的唯一标识符的单例。

描述

资源 UID(Unique IDentifier,唯一标识符)可以使引擎保持资源之间引用关系的完整性,即使文件发生重命名或移动。可以使用 uid:// 访问。

ResourceUID 能够跟踪项目中所有已注册的资源 UID,生成新的 UID,也能够将标识符在字符串表示和整数表示之间进行转换。

方法

void

add_id(id: int, path: String)

int

create_id()

String

get_id_path(id: int) const

bool

has_id(id: int) const

String

id_to_text(id: int) const

void

remove_id(id: int)

void

set_id(id: int, path: String)

int

text_to_id(text_id: String) const


常量

INVALID_ID = -1 🔗

用于无效 UID 的值,例如无法加载的资源。

对应的文本表示为 uid://<invalid>


方法说明

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

添加一个新的 UID 值,将其映射到给定的资源路径。

如果 UID 已经存在,则会返回错误,因此请务必先使用 has_id 进行检查,或者改用 set_id


int create_id() 🔗

生成随机的资源 UID,该 UID 在当前加载的 UID 列表中保证唯一。

要注册这个 UID,你必须调用 add_idset_id


String get_id_path(id: int) const 🔗

返回给定 UID 值引用的路径。

如果 UID 不存在则失败并报错,因此请务必使用 has_id 事先检查。


bool has_id(id: int) const 🔗

返回给定的 UID 值是否为缓存所知。


String id_to_text(id: int) const 🔗

将给定的 UID 转换为 uid:// 字符串值。


void remove_id(id: int) 🔗

从缓存中删除一个已加载的 UID 值。

如果 UID 不存在则失败并报错,因此请务必提前使用 has_id 检查。


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

更新现有 UID 的资源路径。

如果 UID 不存在,则失败并出现错误,因此请务必提前使用 has_id 检查,或者改用 add_id


int text_to_id(text_id: String) const 🔗

从给定的 uid:// 字符串中提取 UID 值。