|
@@ -21,7 +21,8 @@ public class TemplateModel : BaseTemPlate
|
|
|
{
|
|
|
|
|
|
Debug.Log("DGJ ==>> "+Data.localLoadPath);
|
|
|
- AssetBundle ab = AssetBundle.LoadFromFile(Data.localLoadPath);
|
|
|
+ var ab = AssetBundle.LoadFromFileAsync(Data.localLoadPath);
|
|
|
+ yield return ab;
|
|
|
if (ab == null)
|
|
|
{
|
|
|
Debug.Log("Failed to load AssetBundle!");
|
|
@@ -29,14 +30,24 @@ public class TemplateModel : BaseTemPlate
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- var prefab = ab.LoadAsset<GameObject>(ab.LoadAllAssets<GameObject>()[0].name);
|
|
|
+ var allab = ab.assetBundle.LoadAllAssetsAsync<GameObject>();
|
|
|
+ yield return allab;
|
|
|
+ var prefab = ab.assetBundle.LoadAssetAsync<GameObject>((allab.allAssets[0] as GameObject).name);
|
|
|
|
|
|
- switch (prefab.name)
|
|
|
+ yield return prefab;
|
|
|
+ switch (prefab.asset.name)
|
|
|
{
|
|
|
case "GHZ_OOBE_230721":
|
|
|
|
|
|
- GameObject obj = Resources.Load<GameObject>("GongYe");
|
|
|
- if(obj == null)
|
|
|
+ var objload = Resources.LoadAsync<GameObject>("GongYe");
|
|
|
+ yield return objload;
|
|
|
+ GameObject obj = null;
|
|
|
+ if (objload.asset is GameObject)
|
|
|
+ {
|
|
|
+ obj = objload.asset as GameObject;
|
|
|
+
|
|
|
+ }
|
|
|
+ if (obj == null)
|
|
|
{
|
|
|
Debug.LogError(" GHZ_OOBE_230721 物体加载失败,请查看是否导入相关Packages ");
|
|
|
obj = new GameObject();
|
|
@@ -63,7 +74,7 @@ public class TemplateModel : BaseTemPlate
|
|
|
break;
|
|
|
|
|
|
default:
|
|
|
- m_ModelObj = Instantiate(prefab, transform);
|
|
|
+ m_ModelObj = Instantiate(prefab.asset as GameObject, transform);
|
|
|
break;
|
|
|
}
|
|
|
|
|
@@ -75,7 +86,7 @@ public class TemplateModel : BaseTemPlate
|
|
|
gameObject.AddComponent<ManipulationHandler>();
|
|
|
gameObject.AddComponent<BoundingBox>();
|
|
|
yield return new WaitForSeconds(0.3f);
|
|
|
- ab.Unload(false);
|
|
|
+ ab.assetBundle.Unload(false);
|
|
|
HideCollider();
|
|
|
}
|
|
|
|
|
@@ -93,10 +104,10 @@ public class TemplateModel : BaseTemPlate
|
|
|
}
|
|
|
public void LoadModel(AssetBundle ab)
|
|
|
{
|
|
|
-
|
|
|
- LoadABModel(ab);
|
|
|
+ StartCoroutine(LoadABModel(ab));
|
|
|
+
|
|
|
}
|
|
|
- private void LoadABModel(AssetBundle ab)
|
|
|
+ private IEnumerator LoadABModel(AssetBundle ab)
|
|
|
{
|
|
|
if (ab == null)
|
|
|
{
|
|
@@ -105,17 +116,20 @@ public class TemplateModel : BaseTemPlate
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- var prefab = ab.LoadAsset<GameObject>(ab.LoadAllAssets<GameObject>()[0].name);
|
|
|
+ var allab = ab.LoadAllAssetsAsync<GameObject>();
|
|
|
+ yield return allab;
|
|
|
+ var prefab = ab.LoadAssetAsync<GameObject>((allab.allAssets[0] as GameObject).name);
|
|
|
|
|
|
- switch (prefab.name)
|
|
|
+ switch (prefab.asset.name)
|
|
|
{
|
|
|
case "GHZ_OOBE_230721":
|
|
|
|
|
|
- GameObject obj = Resources.Load<GameObject>("GongYe");
|
|
|
- if (obj == null)
|
|
|
+ var objload = Resources.LoadAsync<GameObject>("GongYe");
|
|
|
+ yield return objload;
|
|
|
+ GameObject obj = null;
|
|
|
+ if (objload.asset is GameObject)
|
|
|
{
|
|
|
- Debug.LogError(" GHZ_OOBE_230721 物体加载失败,请查看是否导入相关Packages ");
|
|
|
- obj = new GameObject();
|
|
|
+ obj = objload.asset as GameObject;
|
|
|
|
|
|
}
|
|
|
m_ModelObj = GameObject.Instantiate(obj, transform);
|
|
@@ -139,7 +153,7 @@ public class TemplateModel : BaseTemPlate
|
|
|
break;
|
|
|
|
|
|
default:
|
|
|
- m_ModelObj = Instantiate(prefab, transform);
|
|
|
+ m_ModelObj = Instantiate(prefab.asset as GameObject, transform);
|
|
|
break;
|
|
|
}
|
|
|
|