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); }
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"); }
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 }
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"); }
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"); }
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; }
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(); }
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"); }
public void Run(HotResGenSharedData sharedata) { SplitPackage.UpdateOutPath = null; SplitPackage.UpdateOutDevelopPath = null; sharedata.abInfoArray = SplitPackage.CreateCrcListContent(sharedata.firstCrcDict, sharedata.streamingManifest, sharedata.manualFileList); }
public void Run(HotResGenSharedData sharedata) { SplitPackage.CopyChangeFileToSplitFolder(sharedata.firstExists, sharedata.firstCrcDict, sharedata.streamingManifest, sharedata.diffstreamingManifest, sharedata.manualFileList); }