Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

ResourceUID

继承: Object

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

描述

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

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

方法

void

add_id ( int id, String path )

int

create_id ( )

String

get_id_path ( int id ) const

bool

has_id ( int id ) const

String

id_to_text ( int id ) const

void

remove_id ( int id )

void

set_id ( int id, String path )

int

text_to_id ( String text_id ) const


常量

INVALID_ID = -1

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

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


方法说明

void add_id ( int id, String path )

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

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


int create_id ( )

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

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


String get_id_path ( int id ) const

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

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


bool has_id ( int id ) const

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


String id_to_text ( int id ) const

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


void remove_id ( int id )

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

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


void set_id ( int id, String path )

更新现有 UID 的资源路径。

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


int text_to_id ( String text_id ) const

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