Exemple #1
0
    private void AddToDatabase(AssetBundlesDatabase.BundleData bundle, byte[] hash, string bundlePath)
    {
        bundle.Filename = Path.GetFileName(bundlePath);

        using (FileStream stream = File.OpenRead(bundlePath))
        {
            bundle.Size = (int)stream.Length;
            bundle.Hash = hash;

            var str = bundle.Filename + "@" + CachingUtils.GetVersionFromHash(bundle.Hash);
            bundle.CacheName = BuildUtils.ToHexString(BuildUtils.GetASCIIStringHash(str));
        }

        _database.Bundles.Add(bundle);

        // Update hash, id and size
        _database.Hash  = BuildUtils.Sha1.ComputeHash(_database.Hash.Concat(bundle.Hash).ToArray());
        _database.Id    = BuildUtils.ToHexString(_database.Hash.Take(4));
        _database.Size += bundle.Size;
        //EditorUtility.SetDirty(_database);
    }