コード例 #1
0
 public void AddDelayUnloadAssetBundle(string name, ref AssetBundle asset_bundle)
 {
     if (!(asset_bundle == null))
     {
         delayUnloadAssetBundles.Add(DelayUnloadAssetBundle.Get(name, asset_bundle));
         asset_bundle = null;
     }
 }
コード例 #2
0
    public static DelayUnloadAssetBundle Get(string name, AssetBundle asset_bundle)
    {
        DelayUnloadAssetBundle delayUnloadAssetBundle = rymTPool <DelayUnloadAssetBundle> .Get();

        delayUnloadAssetBundle.name        = name;
        delayUnloadAssetBundle.assetBundle = asset_bundle;
        return(delayUnloadAssetBundle);
    }
コード例 #3
0
 public static void Release(ref DelayUnloadAssetBundle obj)
 {
     if (obj.assetBundle != null)
     {
         obj.assetBundle.Unload(false);
     }
     obj.Reset();
     rymTPool <DelayUnloadAssetBundle> .Release(ref obj);
 }
コード例 #4
0
 public void ClearPoolObjects()
 {
     EffectManager.ClearPoolObjects();
     CoopNetworkManager.ClearPoolObjects();
     ChatNetworkManager.ClearPoolObjects();
     TargetMarkerManager.ClearPoolObjects();
     EnemyLoader.ClearPoolObjects();
     InstantiateManager.ClearPoolObjects();
     ResourceObject.ClearPoolObjects();
     PackageObject.ClearPoolObjects();
     DelayUnloadAssetBundle.ClearPoolObjects();
 }
コード例 #5
0
    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();
    }
コード例 #6
0
    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);
    }