Ejemplo n.º 1
0
        /// <summary>
        /// 根据字节数组获取资源包版本信息
        /// </summary>
        /// <param name="buffer">字节数组</param>
        /// <param name="version">版本号</param>
        /// <returns></returns>
        public static Dictionary <string, AssetBundleInfoEntity> GetAssetBundleVersionList(byte[] buffer, ref string version)
        {
            buffer = ZlibHelper.DeCompressBytes(buffer);


            Dictionary <string, AssetBundleInfoEntity> dic = new Dictionary <string, AssetBundleInfoEntity>();


            MMO_MemoryStream ms = new MMO_MemoryStream(buffer);

            int len = ms.ReadInt();

            for (int i = 0; i < len; i++)
            {
                if (i == 0)
                {
                    version = ms.ReadUTF8String().Trim();
                }
                else
                {
                    AssetBundleInfoEntity entity = new AssetBundleInfoEntity();

                    entity.AssetBundleName = ms.ReadUTF8String();
                    entity.MD5             = ms.ReadUTF8String();
                    entity.Size            = ms.ReadULong();
                    entity.IsFirstData     = ms.ReadByte() == 1;
                    entity.IsEncrypt       = ms.ReadByte() == 1;

                    dic[entity.AssetBundleName] = entity;
                }
            }
            return(dic);
        }