Exemple #1
0
        public void Run(HotResGenSharedData sharedata)
        {
            var diff_crc = sharedata.diff_crc;

            SplitPackage.CreateVersionAssetBundle(diff_crc, true, m_Channels, !CUtils.isRelease);
            SplitPackage.CreateVersionAssetBundle(diff_crc, false, m_Channels, true);
        }
Exemple #2
0
        public void Run(HotResGenSharedData sharedata)
        {
            var diff_crc = sharedata.diff_crc;

            SplitPackage.CreateVersionAssetBundle(diff_crc, HugulaVersionType.Release, m_Channels, "");
            SplitPackage.CreateVersionAssetBundle(diff_crc, HugulaVersionType.Dev, m_Channels, "_dev");
            SplitPackage.CreateVersionAssetBundle(diff_crc, HugulaVersionType.Review, m_Channels, "_review");
        }
Exemple #3
0
        public void Run(HotResGenSharedData sharedata)
        {
#if (UNITY_ANDROID || UNITY_IOS) && HUGULA_RELEASE
            bool spExtFolder = HugulaSetting.instance.spliteExtensionFolder;
            if (spExtFolder)
            {
                var manualFileList = sharedata.manualFileList;
                SplitPackage.DeleteStreamingFiles(manualFileList.allAbInfo);
            }
#endif
        }
Exemple #4
0
        public void Run(HotResGenSharedData sharedata)
        {
            var streamingManifest     = sharedata.streamingManifest;
            var diffstreamingManifest = ScriptableObject.CreateInstance(typeof(FileManifest)) as FileManifest;

            diffstreamingManifest.allAbInfo = sharedata.abInfoArray[0];
            diffstreamingManifest.allAssetBundlesWithVariant = streamingManifest.allAssetBundlesWithVariant;
            diffstreamingManifest.OnAfterDeserialize();
            sharedata.diff_crc = SplitPackage.CreateStreamingCrcList(diffstreamingManifest, Common.CRC32_FILELIST_NAME, true, true); //增量列表
            sharedata.diffstreamingManifest = diffstreamingManifest;
            diffstreamingManifest.WriteToFile("Assets/" + BuildScript.TmpPath + "diffstreamingManifest.txt");
        }
Exemple #5
0
        public void Run(HotResGenSharedData sharedata)
        {
            var streamingManifest      = sharedata.streamingManifest;
            var streamingManifestClone = ScriptableObject.CreateInstance(typeof(FileManifest)) as FileManifest;

            streamingManifestClone.allAbInfo = streamingManifest.allAbInfo;
            streamingManifestClone.allAssetBundlesWithVariant = streamingManifest.allAssetBundlesWithVariant;
            streamingManifestClone.OnAfterDeserialize();
            streamingManifestClone.crc32        = streamingManifest.crc32;
            streamingManifestClone.hasFirstLoad = streamingManifest.hasFirstLoad;
            sharedata.diff_crc = SplitPackage.CreateStreamingCrcList(streamingManifestClone, Common.CRC32_FILELIST_NAME, sharedata.firstExists); //本地列表
            streamingManifestClone.WriteToFile("Assets/" + EditorUtils.TmpPath + "StreamingAssetsManifest(Clone).txt");
        }
Exemple #6
0
        public void Run(HotResGenSharedData sharedata)
        {
            FileManifest firstCrcDict      = null;                                                                  //首包
            FileManifest streamingManifest = null;                                                                  //streamingAsset
            FileManifest manualFileList    = ScriptableObject.CreateInstance(typeof(FileManifest)) as FileManifest; //后置下载

            bool firstExists = SplitPackage.ReadFirst(m_allBundles, out firstCrcDict, out streamingManifest, manualFileList);

            sharedata.firstExists       = firstExists;
            sharedata.firstCrcDict      = firstCrcDict;
            sharedata.streamingManifest = streamingManifest;
            sharedata.manualFileList    = manualFileList;
        }
Exemple #7
0
    public static void GenerateAssetBundlesUpdateFile(string[] allBundles)
    {
        string title = "Generate Update File ";
        string info  = "Compute crc32";

        EditorUtility.DisplayProgressBar(title, info, 0.1f);
        Dictionary <string, uint> firstCrcDict  = new Dictionary <string, uint> ();
        HashSet <string>          whiteFileList = new HashSet <string> ();
        HashSet <string>          blackFileList = new HashSet <string> ();
        Dictionary <string, uint> currCrcDict   = new Dictionary <string, uint>();
        Dictionary <string, uint> diffCrcDict   = new Dictionary <string, uint> ();

        #region 读取首包
        bool firstExists = SplitPackage.ReadFirst(firstCrcDict, whiteFileList, blackFileList);
        #endregion

        #region 生成校验列表
        SplitPackage.UpdateOutPath = null;
        StringBuilder[] sbs           = SplitPackage.CreateCrcListContent(allBundles, firstCrcDict, currCrcDict, diffCrcDict, whiteFileList, blackFileList);
        uint            streaming_crc = SplitPackage.CreateStreamingCrcList(sbs[0]);
        System.Threading.Thread.Sleep(1000);
        uint diff_crc = SplitPackage.CreateStreamingCrcList(sbs[1], SplitPackage.UpdateOutPath);
        System.Threading.Thread.Sleep(1000);
        #endregion

        #region 生成版本号
        //生成版本号码
        SplitPackage.CreateVersionAssetBundle(diff_crc);
        #endregion

        #region copy更新文件导出

        SplitPackage.CopyVersionToSplitFolder(diff_crc);

        SplitPackage.CopyChangeFileToSplitFolder(firstExists, firstCrcDict, currCrcDict, diffCrcDict, whiteFileList, blackFileList);

        Debug.LogFormat("streaming_crc={0},diff_crc{1}", streaming_crc, diff_crc);

        Debug.LogFormat(" firstCrcDict={0},currCrcDict={1},diffCrcDict={2},whiteFileList={3},blackFileList={4}", firstCrcDict.Count, currCrcDict.Count, diffCrcDict.Count, whiteFileList.Count, blackFileList.Count);

        #endregion

        #region  除扩展文件
        #if (UNITY_ANDROID || UNITY_IOS)  //&& !UNITY_EDITOR
        SplitPackage.DeleteStreamingFiles(blackFileList);
        #endif
        #endregion

        EditorUtility.ClearProgressBar();
    }
Exemple #8
0
        public void Run(HotResGenSharedData sharedata)
        {
            var firstManifest         = sharedata.firstCrcDict;
            var streamingManifest     = sharedata.streamingManifest;
            var diffstreamingManifest = ScriptableObject.CreateInstance(typeof(FileManifest)) as FileManifest;

            diffstreamingManifest.allAbInfo = sharedata.abInfoArray[0];

            string[] allVariant = new string[0];
            if (firstManifest)
            {
                var change = SplitPackage.GetChangeAssetBundlesWithVariant(firstManifest.allAssetBundlesWithVariant, streamingManifest.allAssetBundlesWithVariant);
                allVariant = change.ToArray();
            }
            else
            {
            }

            diffstreamingManifest.allAssetBundlesWithVariant = allVariant;
            diffstreamingManifest.OnAfterDeserialize();
            sharedata.diff_crc = SplitPackage.CreateStreamingCrcList(diffstreamingManifest, Common.CRC32_FILELIST_NAME, true, true); //增量列表
            sharedata.diffstreamingManifest = diffstreamingManifest;
            diffstreamingManifest.WriteToFile("Assets/" + EditorUtils.TmpPath + "HotResManifest.txt");
        }
Exemple #9
0
 public void Run(HotResGenSharedData sharedata)
 {
     SplitPackage.UpdateOutPath        = null;
     SplitPackage.UpdateOutDevelopPath = null;
     sharedata.abInfoArray             = SplitPackage.CreateCrcListContent(sharedata.firstCrcDict, sharedata.streamingManifest, sharedata.manualFileList);
 }
Exemple #10
0
 public void Run(HotResGenSharedData sharedata)
 {
     SplitPackage.CopyChangeFileToSplitFolder(sharedata.firstExists, sharedata.firstCrcDict, sharedata.streamingManifest, sharedata.diffstreamingManifest, sharedata.manualFileList);
 }