Объявление
public static string AssetPathToGUID(string path);public static string AssetPathToGUID(string path, AssetPathToGUIDOptions options = AssetPathToGUIDOptions.IncludeRecentlyDeletedAssets);
Параметры
path | Путь в файловой системе для ресурса. |
options | Указывает, должен ли этот метод возвращать GUID для недавно удаленных ресурсов. Значение по умолчанию: AssetPathToGUIDOptions.IncludeRecentlyDeletedAssets. |
Возвращает
stringGUID.
Описание
Получите GUID ресурса по path
.
Все пути указаны относительно папки проекта, например: "Assets/MyTextures/hello.png".
Когда вы удаляете ресурс, его идентификатор GUID остается в базе данных ресурсов Unity до тех пор, пока вы не закроете редактор. В результате по умолчанию этот метод по-прежнему будет возвращать идентификаторы GUID для ресурсов, которые были удалены в текущем сеансе редактора Unity.
Для ресурсов, которые не существуют и не были удалены в текущем сеансе редактора, этот метод возвращает пустую строку.
Если вам нужно вернуть пустую строку для ресурсов, которые были удалены в текущем сеансе редактора, передайте значение AssetPathToGUIDOptions.OnlyExistingAssets в качестве параметра "options".
using UnityEngine;
using UnityEditor;
public class Example : MonoBehaviour
{
[MenuItem("AssetDatabase/AssetPathToGUID")]
static void Doit()
{
// texture.jpg exists or was recently deleted
string t = AssetDatabase.AssetPathToGUID("Assets/texture.jpg");
Debug.Log(t); // t will be not null
}
[MenuItem("AssetDatabase/AssetPathToGUID Existing Assets Only")]
static void DoitExistingAssetsOnly()
{
// texture.jpg does not exist on disk
string t = AssetDatabase.AssetPathToGUID("Assets/texture.jpg", AssetPathToGUIDOptions.OnlyExistingAssets);
Debug.Log(t); // t will be null
}
}
См. AssetDatabase.GUIDFromAssetPath для версии, которая возвращает UnityEditor.GUID вместо строки.