/// <summary> /// 加载资源,优先保证从AB包里面(Resources文件夹外部),其次是通过C#IO流加 /// 载(Resources文件夹外部),最后通过Resources加载((Resources文件夹内存)). /// </summary> /// <param name="resourceBase">资源基本数据</param> private void LoadResource(ResourceBase resourceBase) { ResourcePackerInfo resourceBelongedPackerInfo = GetResourceBelongedPackerInfo(resourceBase); if (resourceBelongedPackerInfo != null) { if (resourceBelongedPackerInfo.isAssetBundle) { if (!resourceBelongedPackerInfo.IsAssetBundleLoaded()) { resourceBelongedPackerInfo.LoadAssetBundle(FileManager.GetIFSExtractPath()); } resourceBase.LoadFromAssetBundle(resourceBelongedPackerInfo); if (resourceBase.unloadBelongedAssetBundleAfterLoaded) { resourceBelongedPackerInfo.UnloadAssetBundle(false); } } else { resourceBase.Load(FileManager.GetIFSExtractPath()); } } else { resourceBase.Load(); } }
public void UnloadBelongedAssetbundle(string fullPathInResources) { ResourcePackerInfo resourceBelongedPackerInfo = GetResourceBelongedPackerInfo(fullPathInResources); if (resourceBelongedPackerInfo != null && resourceBelongedPackerInfo.IsAssetBundleLoaded()) { resourceBelongedPackerInfo.UnloadAssetBundle(false); } }
private void UnloadAllAssetBundles() { if (m_resourcePackerInfoSet == null) { return; } for (int i = 0; i < m_resourcePackerInfoSet.resourcePackerInfosAll.Count; i++) { ResourcePackerInfo resourcePackerInfo = m_resourcePackerInfoSet.resourcePackerInfosAll[i]; if (resourcePackerInfo.IsAssetBundleLoaded()) { resourcePackerInfo.UnloadAssetBundle(false); } } }