難以理解為甚麼沒有 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;
}
}