private List <ABUnit> CalculateDeleteList(AssetDataTable local, AssetDataTable remote) { if (remote == null || local == null) { return(null); } var remoteABList = remote.GetAllABUnit(); //防止远程清单文件下载失败导致本地被删光 if (remoteABList.Count == 0) { return(null); } List <ABUnit> localABList = local.GetAllABUnit(); List <ABUnit> deleteABList = new List <ABUnit>(); for (int i = localABList.Count - 1; i >= 0; --i) { ABUnit localABUnit = localABList[i]; ABUnit remoteABUnit = remote.GetABUnit(localABUnit.abName); if (remoteABUnit == null) { deleteABList.Add(localABUnit); continue; } } return(deleteABList); }
//计算成成更新的资源列表 public static List <ABUnit> CalculateLateList(AssetDataTable oldData, AssetDataTable newData, bool addNew) { if (newData == null || oldData == null) { return(null); } List <ABUnit> newABUnitList = newData.GetAllABUnit(); List <ABUnit> lateABList = new List <ABUnit>(); for (int i = newABUnitList.Count - 1; i >= 0; --i) { ABUnit newUnit = newABUnitList[i]; ABUnit oldUnit = oldData.GetABUnit(newUnit.abName); if (oldUnit == null) { //更新的新资源 if (addNew) { lateABList.Add(newUnit); } continue; } if (oldUnit.md5.Equals(newUnit.md5)) { continue; } if (oldUnit.buildTime < newUnit.buildTime) { lateABList.Add(newUnit); } } return(lateABList); }