public void CleanStorage(UnloadUnusedAssetsEvent e, Node any, [JoinAll] DatabaseNode db) { AssetStorageComponent assetStorage = db.assetStorage; List <string> list = new List <string>(10); foreach (KeyValuePair <string, ResourceStorageEntry> pair in db.assetStorage.ManagedReferencies) { ResourceStorageEntry entry = pair.Value; if (this.IsExpired(entry)) { list.Add(pair.Key); } } foreach (string str in list) { assetStorage.Remove(str, AssetStoreLevel.MANAGED); } }
private bool IsExpired(ResourceStorageEntry entry) => (entry.LastAccessTime + MANAGED_RESOURCE_EXPIRE_DURATION_SEC) > Time.time;