Esempio n. 1
0
    //删除所有bundle文件
    public void DisposeAllBundle()
    {
        List <string> keys = new List <string>();

        keys.AddRange(loadObj.Keys);
        for (int i = 0; i < loadObj.Count; i++)
        {
            IABRelastion loader = loadHelper[keys[i]];
            loader.Dispose();
        }
        loadHelper.Clear();
    }
Esempio n. 2
0
 //卸载bundle文件 循环处理依赖关系
 public void DisposeBundle(string bundle)
 {
     if (loadHelper.ContainsKey(bundle))
     {
         IABRelastion  loader   = new IABRelastion();
         List <string> depences = loader.GetDepence();
         for (int i = 0; i < depences.Count; i++)
         {
             if (loadHelper.ContainsKey(depences[i]))
             {
                 IABRelastion depence = loadHelper[depences[i]];
                 if (depence.RemoveReference(bundle))
                 {
                     DisposeBundle(depence.GetBundleName());
                 }
             }
         }
         if (loader.GetReference().Count <= 0)
         {
             loader.Dispose();
             loadHelper.Remove(bundle);
         }
     }
 }