Exemple #1
0
 /// <summary>
 /// 这是卸载ab包 卸载一个 需要处理其依赖关系
 /// </summary>
 /// <param name="abName"></param>
 public void DisposeBundle(string abName)
 {
     if (m_singleABDict.ContainsKey(abName))
     {
         ABRelation    relation = m_relationDict[abName];
         List <string> def      = relation.GetAllDependence();
         for (int i = 0; i < def.Count; i++)
         {
             if (m_relationDict.ContainsKey(def[i]))
             {
                 ABRelation temp = m_relationDict[def[i]];
                 if (temp.RemoveReference(abName))
                 {
                     DisposeBundle(temp.GetABName());
                 }
             }
         }
         if (relation.GetAllReference().Count == 0)
         {
             m_singleABDict[abName].Dispose();
             m_relationDict.Remove(abName);
         }
     }
 }