Example #1
0
        public void Add(AssetInfo asset)
        {
            LoadedModuleAsset loaded;

            if (!dict.TryGetValue(asset.name, out loaded))
            {
                loaded           = LoadedModuleAsset.Spawn();
                loaded.assetInfo = asset;
                dict.Add(asset.name, loaded);

                if (maxAssetCount < dict.Count)
                {
                    maxAssetCount = dict.Count;
                }
            }

            loaded.referencedCount++;
        }
Example #2
0
        public void Unload()
        {
            willRemoveKeys.Clear();

            foreach (var kvp in dict)
            {
                if (!AssetManagerSetting.dontUnloadAssetFileList.Has(kvp.Key))
                {
                    //                    assetManager.Unload(kvp.Value.assetInfo.name, kvp.Value.referencedCount, moduleId == MenuType.WarScene);
                    assetManager.Unload(kvp.Value.assetInfo.name, kvp.Value.referencedCount);
                    LoadedModuleAsset.Despawn(kvp.Value);
                    willRemoveKeys.Add(kvp.Key);
                }
            }

            for (int i = willRemoveKeys.Count - 1; i >= 0; i--)
            {
                dict.Remove(willRemoveKeys[i]);
            }

            willRemoveKeys.Clear();
        }
 public static void Despawn(LoadedModuleAsset item)
 {
     item.assetInfo       = null;
     item.referencedCount = 0;
     pool.Push(item);
 }