public bool HasResolvedConflict(ModFile conflict) { var merge = Merges.FirstOrDefault(mrg => mrg.RelativePath.EqualsIgnoreCase(conflict.RelativePath)); if (merge == null) { return(false); } if (conflict.Mods.Any(mod => !mod.Name.EqualsIgnoreCase(merge.MergedModName) && !merge.ContainsMod(mod.Name))) { return(false); } if (merge.Mods.Any(mod => new LoadOrderComparer().Compare(merge.MergedModName, mod.Name) > 0)) { return(false); } return (merge.Mods.All(mod => mod.Hash == Tools.Hasher.ComputeHash(merge.GetModFile(mod.Name)))); }
public Merge GetMergeByRelativePath(string relativePath) { return(Merges.FirstOrDefault(m => m.RelativePath.EqualsIgnoreCase(relativePath))); }