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