Example #1
0
        public void ReleaseAll(string bundleName)
        {
            if (!abDict.ContainsKey(bundleName))
            {
                return;
            }
            List <string> dependence = abDict[bundleName].GetDependence();

            for (int i = 0; i < dependence.Count; ++i)
            {
                ABRelationManager abLoader = abDict[dependence[i]];
                abLoader.RemoveReference(bundleName);
                //当没有引用时,释放
                if (abLoader.GetReference().Count <= 0)
                {
                    DisposeAll(dependence[i]);
                }
            }
            //当没有引用时,释放
            if (abDict[bundleName].GetReference().Count <= 0)
            {
                DisposeAll(bundleName);
            }
        }