Fix possessable path loading from cache
This commit is contained in:
parent
7ee6e7a4d3
commit
9e0911359b
@ -307,7 +307,7 @@ namespace Passer {
|
||||
callback(null);
|
||||
} else {
|
||||
Debug.Log("Load from cache: " + possessablePath);
|
||||
prefab = foundPossession.assetBundle.LoadAsset<GameObject>(possessablePath);
|
||||
prefab = LoadPossessableFromAssetBundle(foundPossession.assetBundle, possessablePath);
|
||||
if (prefab == null) {
|
||||
Debug.LogError("Could not load " + possessablePath);
|
||||
callback(null);
|
||||
@ -316,7 +316,6 @@ namespace Passer {
|
||||
}
|
||||
}
|
||||
else {
|
||||
Debug.Log("Cache size: " + cache.Count);
|
||||
CachedPossession foundPossession = cache.Find(entry => entry.siteLocation == possessableLocation);
|
||||
if (foundPossession == null) {
|
||||
#if UNITY_ANDROID
|
||||
@ -337,17 +336,10 @@ namespace Passer {
|
||||
yield break;
|
||||
}
|
||||
|
||||
string possessableName = possessablePath;
|
||||
int lastSlashIx = possessablePath.LastIndexOf('/');
|
||||
if (lastSlashIx >= 0)
|
||||
possessableName = possessablePath.Substring(lastSlashIx + 1);
|
||||
|
||||
possessableName = possessableName.ToLower();
|
||||
|
||||
Debug.Log("Load: " + possessableName);
|
||||
prefab = assetBundle.LoadAsset<GameObject>(possessableName);
|
||||
Debug.Log("Load: " + possessablePath);
|
||||
prefab = LoadPossessableFromAssetBundle(assetBundle, possessablePath);
|
||||
if (prefab == null) {
|
||||
Debug.LogError("Could not load " + possessableName);
|
||||
Debug.LogError("Could not load " + possessablePath);
|
||||
yield break;
|
||||
}
|
||||
|
||||
@ -359,7 +351,7 @@ namespace Passer {
|
||||
}
|
||||
else {
|
||||
Debug.Log("Load from cache: " + possessablePath);
|
||||
prefab = foundPossession.assetBundle.LoadAsset<GameObject>(possessablePath);
|
||||
prefab = LoadPossessableFromAssetBundle(foundPossession.assetBundle, possessablePath);
|
||||
if (prefab == null) {
|
||||
Debug.LogError("Could not load " + possessablePath);
|
||||
yield break;
|
||||
@ -369,6 +361,18 @@ namespace Passer {
|
||||
}
|
||||
}
|
||||
|
||||
private static GameObject LoadPossessableFromAssetBundle(AssetBundle assetBundle, string possessablePath) {
|
||||
string possessableName = possessablePath;
|
||||
int lastSlashIx = possessablePath.LastIndexOf('/');
|
||||
if (lastSlashIx >= 0)
|
||||
possessableName = possessablePath.Substring(lastSlashIx + 1);
|
||||
|
||||
possessableName = possessableName.ToLower();
|
||||
|
||||
GameObject prefab = assetBundle.LoadAsset<GameObject>(possessableName);
|
||||
return prefab;
|
||||
}
|
||||
|
||||
public static void UnloadPossession() {
|
||||
if (lastAssetBundle != null)
|
||||
lastAssetBundle.Unload(true);
|
||||
|
Loading…
x
Reference in New Issue
Block a user