//表示已经加载过bundle public Object GetSingleResource(string bundleName, string resName) { if (loadObj.ContainsKey(bundleName)) { AssetResObj tmpRes = loadObj[bundleName]; List <Object> tmpObj = tmpRes.GetResObj(resName); if (tmpObj != null) { return(tmpObj[0]); } } if (loadHelper.ContainsKey(bundleName)) { IABRelationManager loader = loadHelper[bundleName]; Object tmpObj = loader.GetSingleResource(resName); AssetObj tmpAssetObj = new AssetObj(tmpObj); //缓存里面是否已经有了这个包 if (loadObj.ContainsKey(bundleName)) { AssetResObj tmpRes = loadObj[bundleName]; tmpRes.AddResObj(resName, tmpAssetObj); } else { //没有加载过这个包 AssetResObj tmpRes = new AssetResObj(resName, tmpAssetObj); loadObj.Add(bundleName, tmpRes); } return(tmpObj); } else { return(null); } }
void LoadObjectFromBundle(string bundleName, string resName, LoadObjectCallBack callback) { if (loadedHelper.ContainsKey(bundleName)) { IABRelationManager relation = loadedHelper[bundleName]; Object tempObj = relation.GetSingleResource(resName); //缓存 tempObj AssetObj assetObj = new AssetObj(tempObj); if (!loadObjs.ContainsKey(bundleName)) { AssetResObj tmpRes = new AssetResObj(resName, assetObj); loadObjs.Add(bundleName, tmpRes); } else { AssetResObj resObj = loadObjs[bundleName]; resObj.AddResObj(resName, assetObj); } if (null != callback) { callback(tempObj); } } else { if (null != callback) { callback(null); } } }
public UnityEngine.Object GetSingleResources(string bundleName, string resName) { //表示是否已经缓存了 if (loadObj.ContainsKey(bundleName)) { AssetResObj tmpRes = loadObj[bundleName]; List <Object> tmpObj = tmpRes.GetResObj(resName); if (tmpObj != null) { return(tmpObj[0]); } } //表示已经加载过bundle if (loadHelper.ContainsKey(bundleName)) { IABRelationManager loader = loadHelper[bundleName]; Object tmpObj = loader.GetSingleResource(resName); //放入缓存 AssetObj tmpAssetObj = new AssetObj(tmpObj); if (loadObj.ContainsKey(bundleName)) { loadObj[bundleName].AddResObj(resName, tmpAssetObj); } else { AssetResObj tmpRes = new AssetResObj(resName, tmpAssetObj); loadObj.Add(bundleName, tmpRes); } return(tmpObj); } return(null); }
public UnityEngine.Object GetSingleResource(string bundlePath, string resName) { //表示是否缓存了该物体 if (mAssetObjsDict.ContainsKey(bundlePath)) { AssetBundleObjs abObjs = mAssetObjsDict[bundlePath]; List <UnityEngine.Object> objs = abObjs.GetResObj(resName); if (objs != null) { return(objs[0]); } } //表示已经加载过bundle if (mABRelationDict.ContainsKey(bundlePath)) { IABRelationManager iABRelation = mABRelationDict[bundlePath]; UnityEngine.Object obj = iABRelation.GetSingleResource(resName); AssetObj assetObj = new AssetObj(obj); if (mAssetObjsDict.ContainsKey(bundlePath)) { AssetBundleObjs assetBundleObjs = mAssetObjsDict[bundlePath]; mAssetObjsDict.Add(bundlePath, assetBundleObjs); } else { AssetBundleObjs assetBundleObjs = new AssetBundleObjs(resName, assetObj); mAssetObjsDict.Add(bundlePath, assetBundleObjs); } return(obj); } return(null); }
/// <summary> /// 加载的单个资源 /// </summary> /// <param name="bundleName">包名</param> /// <param name="resName">资源名</param> /// <returns></returns> public Object GetSingleResources(string bundleName, string resName) { // 是否已经缓存了这个包 if (loadObjs.ContainsKey(bundleName)) { // 缓存包中有指定资源,直接返回 AssetResObj tmpRes = loadObjs[bundleName]; List <Object> tmpObjs = tmpRes.GetResObj(resName); if (tmpObjs != null) { return(tmpObjs[0]); } } // 是否已经加载过bundle if (loadHelper.ContainsKey(bundleName)) { // 从包中加载出obj IABRelationManager loader = loadHelper[bundleName]; Object tmpObj = loader.GetSingleResource(resName); AssetObj tmpAssetObj = new AssetObj(tmpObj); // 是否已经缓存了这个包 if (loadObjs.ContainsKey(bundleName)) { // 添加缓存资源 AssetResObj tmpRes = loadObjs[bundleName]; tmpRes.AddResObj(resName, tmpAssetObj); } else { // 添加缓存包和资源 AssetResObj tmpRes = new AssetResObj(resName, tmpAssetObj); loadObjs.Add(bundleName, tmpRes); } return(tmpObj); } else { return(null); } }