//同步获取资源 public Object GetAsset(AssetBundleInfoNode assetBundleInfoNode, string assetName, System.Type assetType, string requester) { var asset = assetBundleInfoNode.GetAsset(assetName, assetType, requester); if (asset != null) { this.requester = requester; if (originalRequests == null) { originalRequests = new HashSet <string>(System.StringComparer.CurrentCultureIgnoreCase); } if (!originalRequests.Contains(assetBundleInfoNode.bundleName)) { originalRequests.Add(assetBundleInfoNode.bundleName); } } return(asset); }
public static PrefabAssetNode Create(AssetBundleInfoNode infoNode, string assetName) { if (infoNode == null) { Debug.LogError("Create AssetInfoNode failed. Empty infoNode..."); return(null); } GameObject original = infoNode.GetAsset <GameObject>(assetName, string.Format("PrefabAssetNode_{0}", assetName)); if (original == null) { Debug.LogError("Create AssetInfoNode failed. Can not get gameobject asset ==> " + assetName); return(null); } PrefabAssetNode node = nodePool.Get(); node.infoNode = infoNode; node.assetName = assetName; node.originPrefab = original; return(node); }