/// <summary> /// 实例化2 /// appendedAssets:指定额外的特殊依赖项 /// </summary> public void Instantiate(string strAssetPath, Vector3 position, Quaternion rotation, InitiateHandler handlerFinish, string[] appendedAssets = null) { //string strLatesVersionpath = _objPathData.getLatestVersionPath(strPath); Utils.LogSys.Log("AssetManager Get Path Data 5:" + strAssetPath); EAssetPathType eType = _objPathData.getAssetPathType(strAssetPath); if (eType == EAssetPathType.eResources)//异步创建Resource下资源 { AssetLoadTask task = new AssetLoadTask(strAssetPath, appendedAssets); task.EventFinished += new task.TaskBase.FinishedHandler(delegate(bool manual, TaskBase currentTask) { Object assetObj = ((AssetLoadTask)currentTask).getTargetAsset(); if (assetObj != null) { GameObject obj = GameObject.Instantiate(assetObj, position, rotation) as GameObject; ((AssetLoadTask)currentTask).unloadUnusedAssetbundle(false); handlerFinish(obj); } }); } else { //异步创建StreamingAssets下资源 AssetBundleLoadTask task = new AssetBundleLoadTask(strAssetPath, appendedAssets); task.EventFinished += new task.TaskBase.FinishedHandler(delegate(bool manual, TaskBase currentTask) { Object assetObj = ((AssetBundleLoadTask)currentTask).getTargetAsset(); if (assetObj != null) { GameObject obj = GameObject.Instantiate(assetObj, position, rotation) as GameObject; ((AssetBundleLoadTask)currentTask).unloadUnusedAssetbundle(false); handlerFinish(obj); } }); } }
/// <summary> /// 实例化1 /// appendedAssets:指定额外的特殊依赖项 /// </summary> public void Instantiate(string strAssetPath, InitiateHandler handlerFinish, string[] appendedAssets = null) { Instantiate(strAssetPath, Vector3.zero, Quaternion.identity, handlerFinish, appendedAssets); }