Unity Addressable check asset path exist

Unity Addressable check asset path exist

難以理解為甚麼沒有 API 做這個.
試了一個早上.

static bool CheckAddressablePath(string path)
{
    var sb = new System.Text.StringBuilder();
    var i = 0;
    try
    {
        foreach (var rl in Addressables.ResourceLocators)
        {
            sb.AppendLine(rl.LocatorId);
            foreach (var obj in rl.Keys)
            {
                ++i;
                var key = obj as string;
                if (key == null || key.Length == 0)
                    continue;
                if (!key.Equals(path, System.StringComparison.OrdinalIgnoreCase))
                    continue;

                sb.Append('-').Append(i).Append(' ').AppendLine(key.ToString());
                Debug.Log(sb.ToString());
                return true;
            }
        }
        Debug.Log(sb.ToString());
        return false;
    }
    catch (System.Exception ex)
    {
        Debug.LogError($"CheckAddressablePath({path}) fail\nLog({i})\n{sb}\n{ex.Message}\n{ex.StackTrace}");
        return false;
    }
}

 

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

*

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料