ResourceUID๏ƒFree Courses

Inherits: Object

A singleton that manages the unique identifiers of all resources within a project.

Description๏ƒ

Resource UIDs (Unique IDentifiers) allow the engine to keep references between resources intact, even if files are renamed or moved. They can be accessed with uid://.

ResourceUID keeps track of all registered resource UIDs in a project, generates new UIDs, and converts between their string and integer representations.

Methods๏ƒ

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


Constants๏ƒ

INVALID_ID = -1 ๐Ÿ”—

The value to use for an invalid UID, for example if the resource could not be loaded.

Its text representation is uid://<invalid>.


Method Descriptions๏ƒ

void add_id(id: int, path: String) ๐Ÿ”—

Adds a new UID value which is mapped to the given resource path.

Fails with an error if the UID already exists, so be sure to check has_id() beforehand, or use set_id() instead.


int create_id() ๐Ÿ”—

Generates a random resource UID which is guaranteed to be unique within the list of currently loaded UIDs.

In order for this UID to be registered, you must call add_id() or set_id().


int create_id_for_path(path: String) ๐Ÿ”—

Like create_id(), but the UID is seeded with the provided path and project name. UIDs generated for that path will be always the same within the current project.


String ensure_path(path_or_uid: String) static ๐Ÿ”—

Returns a path, converting path_or_uid if necessary. Prints an error if provided an invalid UID.


String get_id_path(id: int) const ๐Ÿ”—

Returns the path that the given UID value refers to.

Fails with an error if the UID does not exist, so be sure to check has_id() beforehand.


bool has_id(id: int) const ๐Ÿ”—

Returns whether the given UID value is known to the cache.


String id_to_text(id: int) const ๐Ÿ”—

Converts the given UID to a uid:// string value.


String path_to_uid(path: String) static ๐Ÿ”—

Converts the provided resource path to a UID. Returns the unchanged path if it has no associated UID.


void remove_id(id: int) ๐Ÿ”—

Removes a loaded UID value from the cache.

Fails with an error if the UID does not exist, so be sure to check has_id() beforehand.


void set_id(id: int, path: String) ๐Ÿ”—

Updates the resource path of an existing UID.

Fails with an error if the UID does not exist, so be sure to check has_id() beforehand, or use add_id() instead.


int text_to_id(text_id: String) const ๐Ÿ”—

Extracts the UID value from the given uid:// string.


String uid_to_path(uid: String) static ๐Ÿ”—

Converts the provided uid to a path. Prints an error if the UID is invalid.