using System.IO;
using UnityEngine;
namespace YooAsset
{
    /// 
    /// 解密文件的信息
    /// 
    public struct DecryptFileInfo
    {
        /// 
        /// 资源包名称
        /// 
        public string BundleName;
        /// 
        /// 文件加载路径
        /// 
        public string FileLoadPath;
        /// 
        /// Unity引擎用于内容校验的CRC
        /// 
        public uint ConentCRC;
    }
    /// 
    /// 解密类服务接口
    /// 
    public interface IDecryptionServices
    {
        /// 
        /// 同步方式获取解密的资源包对象
        /// 注意:加载流对象在资源包对象释放的时候会自动释放
        /// 
        AssetBundle LoadAssetBundle(DecryptFileInfo fileInfo, out Stream managedStream);
        /// 
        /// 异步方式获取解密的资源包对象
        /// 注意:加载流对象在资源包对象释放的时候会自动释放
        /// 
        AssetBundleCreateRequest LoadAssetBundleAsync(DecryptFileInfo fileInfo, out Stream managedStream);
    }
}