private SerializedFileMetaData CalculateFileMetadata(ref WriteResult result) { List <object> contentHashObjects = new List <object>(); List <object> fullHashObjects = new List <object>(); foreach (ResourceFile file in result.resourceFiles) { RawHash fileHash = HashingMethods.CalculateFile(file.fileName); RawHash contentHash = fileHash; fullHashObjects.Add(fileHash); if (file.serializedFile && result.serializedObjects.Count > 0) { using (var stream = new FileStream(file.fileName, FileMode.Open, FileAccess.Read)) { stream.Position = (long)result.serializedObjects[0].header.offset; contentHash = HashingMethods.CalculateStream(stream); } } contentHashObjects.Add(contentHash); } SerializedFileMetaData data = new SerializedFileMetaData(); data.RawFileHash = HashingMethods.Calculate(fullHashObjects).ToHash128(); data.ContentHash = HashingMethods.Calculate(contentHashObjects).ToHash128(); return(data); }
static SerializedFileMetaData CreateSyntheticSerializedFileMetaData(System.Random rnd) { SerializedFileMetaData serializedFileMetaData = new SerializedFileMetaData(); serializedFileMetaData.RawFileHash = CreateHash128(rnd); serializedFileMetaData.ContentHash = CreateHash128(rnd); return(serializedFileMetaData); }
CachedInfo GetCachedInfo(CacheEntry entry, WriteResult result, SerializedFileMetaData metaData) { var info = new CachedInfo(); info.Asset = entry; info.Data = new object[] { result, metaData }; info.Dependencies = new CacheEntry[0]; return(info); }
internal WriteResult AddSimpleBundle(ArchiveAndCompressBundles.TaskInput input, string bundleName, string internalName, string filePath) { WriteResult writeResult = new WriteResult(); ResourceFile file = new ResourceFile(); file.SetFileName(filePath); file.SetFileAlias(internalName); file.SetSerializedFile(false); writeResult.SetResourceFiles(new ResourceFile[] { file }); input.InternalFilenameToWriteResults.Add(internalName, writeResult); input.InternalFilenameToBundleName.Add(internalName, bundleName); SerializedFileMetaData md = new SerializedFileMetaData(); md.RawFileHash = HashingMethods.CalculateFile(filePath).ToHash128(); md.ContentHash = HashingMethods.CalculateFile(filePath).ToHash128(); input.InternalFilenameToWriteMetaData.Add(internalName, md); return(writeResult); }