ResourceUID

Успадковує: Object

Однотон, який керує унікальними ідентифікаторами всіх ресурсів в рамках проекту.

Опис

UID ресурсів (унікальні ідентифікатори) дозволяють механізму зберігати посилання між ресурсами без змін, навіть якщо файли перейменовано або переміщено. До них можна отримати доступ за допомогою uid://.

ResourceUID відстежує всі зареєстровані UID ресурсів у проекті, генерує нові UID і перетворює їх рядкове та ціле числове представлення.

Методи

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


Константи

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 було зареєстровано, необхідно викликати add_id() або set_id().


int create_id_for_path(path: String) 🔗

Подібно до create_id(), але UID має наданий path та назву проекту. UID, згенеровані для цього шляху, завжди будуть однаковими в межах поточного проекту.


String ensure_path(path_or_uid: String) static 🔗

Повертає шлях, за потреби перетворюючи path_or_uid. Виводить помилку, якщо вказано недійсний UID.


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:// значення рядка.


String path_to_uid(path: String) static 🔗

Перетворює наданий ресурс path на 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:// string.


String uid_to_path(uid: String) static 🔗

Перетворює наданий uid на шлях. Виводить помилку, якщо UID недійсний.