Example #1
0
 internal MobileBuildReportPackInfo(PackedAssetInfo info)
 {
     Id         = info.id;
     AssetPath  = info.sourceAssetPath;
     GuidString = info.sourceAssetGUID.ToString();
     TypeString = info.type.ToString();
     PackedSize = info.packedSize;
     Offset     = info.offset;
 }
        public PackAssetProvider(string fileName)
        {
            if (!File.Exists(fileName))
            {
                return;
            }

            BaseFile = new FileInfo(fileName);

            FileStream fs = null;

            try
            {
                fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
                int version = StreamUtils.ReadInt(fs);

                switch (version)
                {
                case 0:
                    int count = StreamUtils.ReadInt(fs);
                    for (int i = 0; i < count; i++)
                    {
                        PackedAssetInfo info = new PackedAssetInfo();
                        info.FileName     = StreamUtils.ReadPString(fs);
                        info.BufferOffset = StreamUtils.ReadInt(fs);
                        info.BufferSize   = StreamUtils.ReadInt(fs);

                        if (info.BufferOffset > 0 && info.BufferSize > 0)
                        {
                            Assets.Add(info.FileName, info);
                        }
                    }
                    break;
                }
            }
            catch (Exception)
            {
                Assets.Clear();
            }
            if (fs != null)
            {
                fs.Close();
            }
        }