示例#1
0
        public virtual void Dispose()
        {
            UnloadBundle();

            var e = deps.GetEnumerator();

            while (e.MoveNext())
            {
                AssetBundleInfo dep = e.Current;
                if (dep.depChildren != null)
                {
                    dep.depChildren.Remove(this.bundleName);
                }
                dep.Release();
            }
            HashSetPool <AssetBundleInfo> .Release(deps);

            deps = null;
            ListPool <string> .Release(depChildren);

            depChildren = null;
            ListPool <WeakReference> .Release(references);

            references = null;

            if (onUnloaded != null)
            {
                onUnloaded(this);
            }
        }