public void AddDelayUnloadAssetBundle(string name, ref AssetBundle asset_bundle) { if (!(asset_bundle == null)) { delayUnloadAssetBundles.Add(DelayUnloadAssetBundle.Get(name, asset_bundle)); asset_bundle = null; } }
public static DelayUnloadAssetBundle Get(string name, AssetBundle asset_bundle) { DelayUnloadAssetBundle delayUnloadAssetBundle = rymTPool <DelayUnloadAssetBundle> .Get(); delayUnloadAssetBundle.name = name; delayUnloadAssetBundle.assetBundle = asset_bundle; return(delayUnloadAssetBundle); }
public static void Release(ref DelayUnloadAssetBundle obj) { if (obj.assetBundle != null) { obj.assetBundle.Unload(false); } obj.Reset(); rymTPool <DelayUnloadAssetBundle> .Release(ref obj); }
public void ClearPoolObjects() { EffectManager.ClearPoolObjects(); CoopNetworkManager.ClearPoolObjects(); ChatNetworkManager.ClearPoolObjects(); TargetMarkerManager.ClearPoolObjects(); EnemyLoader.ClearPoolObjects(); InstantiateManager.ClearPoolObjects(); ResourceObject.ClearPoolObjects(); PackageObject.ClearPoolObjects(); DelayUnloadAssetBundle.ClearPoolObjects(); }
public void ReleaseAllDelayUnloadAssetBundles() { int i = 0; for (int size = delayUnloadAssetBundles.size; i < size; i++) { DelayUnloadAssetBundle obj = delayUnloadAssetBundles[i]; if (GetCachedPackage(obj.name) != null) { obj.assetBundle = null; } DelayUnloadAssetBundle.Release(ref obj); } delayUnloadAssetBundles.Clear(); }
public AssetBundle PopDelayUnloadAssetBundle(string name) { int i = 0; for (int size = delayUnloadAssetBundles.size; i < size; i++) { DelayUnloadAssetBundle obj = delayUnloadAssetBundles[i]; if (obj.name == name) { delayUnloadAssetBundles.RemoveAt(i); AssetBundle assetBundle = obj.assetBundle; obj.assetBundle = null; DelayUnloadAssetBundle.Release(ref obj); return(assetBundle); } } return(null); }