public static bool BundleData() { bool bSuccess = true; System.DateTime lastTime = System.DateTime.Now; string sOutDir = AppPackage.AddStamp(ms_sDataOutDir); BuildAssetBundleOptions theAssetOptions = BuildAssetBundleOptions.ForceRebuildAssetBundle; //theAssetOptions = theAssetOptions | BuildAssetBundleOptions.CompleteAssets; //theAssetOptions = theAssetOptions | BuildAssetBundleOptions.CollectDependencies; theAssetOptions = theAssetOptions | BuildAssetBundleOptions.UncompressedAssetBundle; theAssetOptions = theAssetOptions | BuildAssetBundleOptions.DeterministicAssetBundle; List <string> lstFiles = new List <string>(); string[] mediaFiles = AppPackage.GetFiles(new string[] { ms_sMediaDir }, new string[] { "*.ogg", "*.mp3" }, true); lstFiles.AddRange(mediaFiles); string[] objFiles = AppPackage.GetFiles(new string[] { ms_sObjDir }, new string[] { "*.prefab" }, true); lstFiles.AddRange(objFiles); string[] effectFiles = AppPackage.GetFiles(new string[] { ms_sEffectDir }, new string[] { "*.prefab" }, true); lstFiles.AddRange(effectFiles); string[] charFiles = AppPackage.GetFiles(new string[] { ms_sCharDir }, new string[] { "*.prefab" }, true); lstFiles.AddRange(charFiles); string[] uiFiles = AppPackage.GetFiles(new string[] { ms_sUIDir }, new string[] { "*.prefab", "*.png", "*.jpg", "*.ttf" }, true); lstFiles.AddRange(uiFiles); /*string[] cfgFiles = GetFiles(new string[] { ms_sConfigDir }, new string[] { "*.prefab", "*.json", "*.bytes" }, true); * lstFiles.AddRange(cfgFiles);*/ string[] mapFiles = AppPackage.GetFiles(new string[] { ms_sMapDir }, new string[] { "*.prefab" }, true); lstFiles.AddRange(mapFiles); AppPackage.DeleteABManifest(sOutDir + ms_sMediaDir.ToLower()); AppPackage.DeleteABManifest(sOutDir + ms_sObjDir.ToLower()); AppPackage.DeleteABManifest(sOutDir + ms_sEffectDir.ToLower()); AppPackage.DeleteABManifest(sOutDir + ms_sCharDir.ToLower()); //AppPackage.DeleteABManifest(sOutDir + ms_sConfigDir.ToLower()); AppPackage.DeleteABManifest(sOutDir + ms_sMapDir.ToLower()); AppPackage.DeleteABManifest(null, sOutDir + GameConfigMgr.ms_sABMFileName); string[] depFiles = AssetDatabase.GetDependencies(lstFiles.ToArray()); string[] files = AppPackage.GetMatch(depFiles, new string[] { "^.+\\.ogg$|^.+\\.mp3$|^.+\\.prefab$|^.+\\.png$|^.+\\.jpg$|^.+\\.ttf$|^.+\\.json$|^.+\\.bytes$|^.+\\.renderTexture$" }); AppPackage.BundleFiles(sOutDir, files, theAssetOptions, false); bSuccess &= AppPackage.BackUpABManifest(sOutDir, sOutDir + GameConfigMgr.ms_sABMFileName + GameConfigMgr.ms_sABType); if (!bSuccess) { return(false); } System.TimeSpan costTime = System.DateTime.Now - lastTime; Debug.Log("-->> BundleData Cost: " + (costTime.Hours * 3600 + costTime.Minutes * 60 + costTime.Seconds).ToString() + "s"); return(true); }