private static AssetBundleStorageEntry Access(AssetBundleInfo info)
        {
            AssetBundleStorageEntry entry = bundle2entry[info];

            entry.LastAccessTime = Time.time;
            return(entry);
        }
 public static bool Unload(AssetBundleStorageEntry entry)
 {
     entry.Bundle.Unload(false);
     entryQueue.Remove(entry);
     bundle2entry.Remove(entry.Info);
     size -= entry.Info.Size;
     return(true);
 }
        public static void StoreAsStatic(AssetBundleInfo info, AssetBundle bundle)
        {
            AssetBundleStorageEntry entry = new AssetBundleStorageEntry {
                Info           = info,
                Bundle         = bundle,
                LastAccessTime = Time.time
            };

            bundle2entry.Add(info, entry);
        }
        public static void Store(AssetBundleInfo info, AssetBundle bundle)
        {
            loadingBundles.Remove(info);
            AssetBundleStorageEntry entry = new AssetBundleStorageEntry {
                Info           = info,
                Bundle         = bundle,
                LastAccessTime = Time.time
            };

            entryQueue.AddLast(entry);
            bundle2entry.Add(info, entry);
            size += info.Size;
        }
 public static bool IsExpired(AssetBundleStorageEntry entry) =>
 (Time.time - entry.LastAccessTime) > EXPIRATION_TIME_SEC;