reckfellENGINE

ResourceUid

Идентификаторы ассетов и таблица соответствия UID путям.

На этой странице
class ResourceUidReckfellSharp

UID обозначает ассет, но не хранит его данные и не является ID игровой Entity. Числовое значение, текст uid:// и путь — разные представления. Создание кандидата, изменение заголовка файла и регистрация пути являются отдельными операциями.

CreateId()/CreateIdForPath() не регистрируют результат. HasId() проверяет таблицу, не файл. PathToUid() может вернуть исходный путь, а текущий SetId() способен оставить старую reverse-запись даже после RemoveId(): дефект подтверждён.

Для обычной работы с ассетами используйте штатные инструменты редактора; собственной runtime-таблицей управляйте явно, не освобождая engine-owned Singleton. ResourceSaver.SetUid не заменяет регистрацию. Проверки — Windows headless; редакторное сканирование, межпроцессный cache и другие платформы не проверены.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Свойства1

SingletonСвойство
# Singleton
C#
public static ResourceUidInstance Singleton { get; }

Заимствованный wrapper глобального сервиса движка. Повторное получение использует cached managed wrapper; не создаёт отдельный реестр. Не вызывайте Free()/Dispose() у этого engine-owned объекта. Для обычной работы используйте статические методы класса.

Методы12

AddIdvoid
# AddId
C#
public static void AddId(long id, string path);

Добавляет ID→путь в реестр процесса; при включённом reverse cache добавляет и путь→ID. Не создаёт файл, не меняет его UID-заголовок и не переименовывает ассет. Повтор существующего ID отвергается с диагностикой. Передавайте собственный допустимый ID и точный путь; изменение таблицы не является подтверждённым сохранением cache на диск.

Параметры
ИмяТипПо умолчанию
idlong—
pathstring—
id

Неотрицательный ID; для операций таблицы учитывайте наличие и владение регистрацией.

path

Точный путь ассета; метод не создаёт и не перемещает сам файл.

CreateIdlong
# CreateId
C#
public static long CreateId();

Генерирует неотрицательный 63-битный кандидат, отсутствующий в текущем реестре. Не резервирует его, не вызывает AddId и не создаёт файл. При ошибке генератора возможен InvalidId. Получение ID не доказывает существование ассета; для собственной регистрации выполните отдельный AddId.

Возвращает long

Неотрицательный незарегистрированный кандидат либо InvalidId.

CreateIdForPathlong
# CreateIdForPath
C#
public static long CreateIdForPath(string path);

Создаёт кандидат по seed из имени проекта, пути в нижнем регистре и MD5 содержимого; занятые ID пропускаются. Не регистрирует значение и не создаёт файл. Повтор без регистрации дал тот же ID; после изменения содержимого/проекта/реестра это не гарантируется. Несуществующий путь тоже может дать допустимый кандидат, поэтому метод не является проверкой файла или стабильным content address.

Параметры
ИмяТипПо умолчанию
pathstring—
path

Точный путь ассета; метод не создаёт и не перемещает сам файл.

Возвращает long

Незарегистрированный кандидат; не доказательство существующего файла.

EnsurePathstring
# EnsurePath
C#
public static string EnsurePath(string pathOrUid);

Если строка начинается с uid://, использует UidToPath(); иначе возвращает её без изменений, даже если файла нет. Не создаёт каталог, не проверяет права и не является полной валидацией входа. Неизвестный UID наследует диагностику/пустой результат UidToPath().

Параметры
ИмяТипПо умолчанию
pathOrUidstring—
pathOrUid

Обычный путь либо uid://; обычный путь возвращается без проверки существования.

Возвращает string

Разрешённый UID-путь либо неизменённый обычный путь; существование не гарантируется.

GetIdPathstring
# GetIdPath
C#
public static string GetIdPath(long id);

Получает зарегистрированный путь ID; файл при этом не открывается и не проверяется. Перед вызовом в runtime проверьте неотрицательный ID и HasId(). InvalidId/неизвестный ID может дать диагностику и пустую строку. Редакторные fallback/scan отличаются и здесь не выполнялись.

Параметры
ИмяТипПо умолчанию
idlong—
id

Неотрицательный ID; для операций таблицы учитывайте наличие и владение регистрацией.

Возвращает string

Зарегистрированный путь либо пустая строка при отсутствии/ошибке.

HasIdbool
# HasId
C#
public static bool HasId(long id);

Проверяет наличие ключа в текущем реестре, не файла на диске и не актуальность обратной таблицы. После RemoveId() может быть false, хотя старый reverse path от предыдущего SetId остаётся; это проверено. Не является сканированием проекта или загрузкой ресурса.

Параметры
ИмяТипПо умолчанию
idlong—
id

Неотрицательный ID; для операций таблицы учитывайте наличие и владение регистрацией.

Возвращает bool

True для ключа текущего реестра; не проверка файла/обратной таблицы.

IdToTextstring
# IdToText
C#
public static string IdToText(long id);

Кодирует неотрицательный ID в строку uid://. Не проверяет регистрацию или наличие файла. Для любого отрицательного значения возвращает uid://<invalid>. Это кодирование ID, не создание новой регистрации или сериализация содержимого ассета.

Параметры
ИмяТипПо умолчанию
idlong—
id

Неотрицательный ID; для операций таблицы учитывайте наличие и владение регистрацией.

Возвращает string

uid:// строка либо uid://<invalid> для отрицательного значения.

PathToUidstring
# PathToUid
C#
public static string PathToUid(string path);

Запрашивает UID пути через ResourceLoader. В runtime используется reverse cache; если UID неизвестен, возвращается исходный путь, не InvalidId или обязательно пустая строка. Старый reverse path после SetId/RemoveId может дать текст UID уже без HasId(). Проверяйте тип результата и актуальную регистрацию; это не создание файла/UID.

Параметры
ИмяТипПо умолчанию
pathstring—
path

Точный путь ассета; метод не создаёт и не перемещает сам файл.

Возвращает string

Текст UID либо исходный путь; результат нужно различать явно.

RemoveIdvoid
# RemoveId
C#
public static void RemoveId(long id);

Удаляет ID и reverse-запись его текущего пути, не файл и не встроенный UID. Если SetId раньше оставил старый reverse path, RemoveId его не очищает; этот дефект воспроизведён. Отсутствующий ID даёт диагностику. Автоматическое сохранение/перестройка всего cache этой операцией не подтверждены.

Параметры
ИмяТипПо умолчанию
idlong—
id

Неотрицательный ID; для операций таблицы учитывайте наличие и владение регистрацией.

SetIdvoid
# SetId
C#
public static void SetId(long id, string path);

Обновляет путь уже зарегистрированного ID, не перемещая файл. Ограничение 1.0.0: новый reverse path добавляется, но старый не удаляется; PathToUid(oldPath) может продолжать возвращать тот же UID. Это воспроизведено. Чтобы избежать этого при собственном runtime-обновлении, удалите старую регистрацию до добавления новой с тем же ID, вместо SetId; операции не атомарны. Отсутствующий ID даёт диагностику.

Параметры
ИмяТипПо умолчанию
idlong—
pathstring—
id

Неотрицательный ID; для операций таблицы учитывайте наличие и владение регистрацией.

path

Точный путь ассета; метод не создаёт и не перемещает сам файл.

TextToIdlong
# TextToId
C#
public static long TextToId(string textId);

Разбирает uid:// в неотрицательный ID либо InvalidId для отвергнутого ввода. Не является строгой проверкой канонического UID: пустой suffix uid:// даёт 0, переполнение не является отдельной диагностикой. Не проверяет реестр/файл. Для строгого входа сопоставьте канонический IdToText() и отдельно HasId().

Параметры
ИмяТипПо умолчанию
textIdstring—
textId

Текст uid://; каноничность и наличие ID проверяются отдельно.

Возвращает long

Числовой ID либо -1; допустимое число ещё не означает регистрацию.

UidToPathstring
# UidToPath
C#
public static string UidToPath(string uid);

Преобразует текст UID в ID и запрашивает зарегистрированный путь. Не ищет перемещённый файл автоматически. Для неизвестного/невалидного ID возможны диагностика и пустая строка; проверяйте TextToId()/HasId() перед runtime-вызовом. Полученный путь не доказывает существование файла.

Параметры
ИмяТипПо умолчанию
uidstring—
uid

Текст зарегистрированного UID, не обычный путь файла.

Возвращает string

Путь реестра либо пустой результат; это не проверка файловой системы.

Поля и константы1

InvalidIdПоле
# InvalidId
C#
public const long InvalidId = -1;

Константа -1, обозначающая отсутствие/недопустимость ID. Это не рабочий UID и не ключ для AddId/GetIdPath. Отрицательное значение IdToText() превращает в uid://<invalid>, а не в путь файла.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.