// 自动检查卸载点资源包 // UI 资源暂时不卸载 // 已经加载但是还有缓存资源没有加载点不进行卸载 // 正在加载点资源也不进行卸载 private static void CheckUnloadPackage() { List <string> unloadPackageList = new List <string>(); using (var i = _packageCacheDic.GetEnumerator()) { RGPackage package = null; while (i.MoveNext()) { package = i.Current.Value; if (package != null) { if (package.IsLoadPackage) { if (!package.IsCacheNeedLoad) { if (!package.IsUI && package.IsAutoRelease && !package.IsForverBundle) { RGLog.DebugResLoad("<color=red> Auto Unload bundle</color> -> {0}", package.PackageName); package.UnloadAll();; unloadPackageList.Add(package.PackageName); } } } } } } for (int i = 0; i < unloadPackageList.Count; i++) { _packageCacheDic.Remove(unloadPackageList[i]); } }
// 获得包 public static RGPackage GetPackage(string packageName) { RGPackage package = null; if (_packageCacheDic.TryGetValue(packageName, out package)) { return(package); } return(null); }
//创建包 public static RGPackage CreatePackage(string packageName) { var package = GetPackage(packageName); if (package == null) { package = RGPackage.Create(packageName); _packageCacheDic.Add(packageName, package); } return(package); }
public static RGPackage CreatePackage(string packageName) { RGLog.Debug(" CreatePackage --> " + packageName); var package = GetPackage(packageName); if (package == null) { package = RGPackage.Create(packageName); _packageCacheDic.Add(packageName, package); } return(package); }
// 卸载全部包 public static void UnloadAll() { using (var i = _packageCacheDic.GetEnumerator()) { RGPackage package = null; while (i.MoveNext()) { package = i.Current.Value; if (package != null) { package.UnloadAll(); } } } _packageCacheDic.Clear(); }
public static RGPackage Create(string packageName) { var rg = new RGPackage(packageName); return(rg); }