/// <summary> /// Verifies the integrity of the file in the manifest entry. /// </summary> /// <returns><c>true</c>, if file was complete and undamaged, <c>false</c> otherwise.</returns> public bool IsFileIntegrityIntact() { string localPath = $"{ConfigHandler.Instance.GetGamePath()}{RelativePath}"; if (!File.Exists(localPath)) { return(false); } FileInfo fileInfo = new FileInfo(localPath); if (fileInfo.Length != Size) { return(false); } using (Stream file = File.OpenRead(localPath)) { string localHash = MD5Handler.GetStreamHash(file); if (localHash != Hash) { return(false); } } return(true); }
/// <summary> /// Verifies the integrity of the file in the manifest entry. /// </summary> /// <returns><c>true</c>, if file was complete and undamaged, <c>false</c> otherwise.</returns> public bool IsFileIntegrityIntact() { string LocalPath = String.Format("{0}{1}", ConfigHandler.Instance.GetGamePath(), RelativePath); if (!File.Exists(LocalPath)) { return(false); } else { FileInfo fileInfo = new FileInfo(LocalPath); if (fileInfo.Length != Size) { return(false); } else { using (Stream file = File.OpenRead(LocalPath)) { string localHash = MD5Handler.GetStreamHash(file); if (localHash != Hash) { return(false); } } } } return(true); }