Example #1
0
        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))));
        }
Example #2
0
 public Merge GetMergeByRelativePath(string relativePath)
 {
     return(Merges.FirstOrDefault(m => m.RelativePath.EqualsIgnoreCase(relativePath)));
 }