예제 #1
0
        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);
            }
        }
예제 #2
0
 private bool IsExpired(ResourceStorageEntry entry) =>
 (entry.LastAccessTime + MANAGED_RESOURCE_EXPIRE_DURATION_SEC) > Time.time;