示例#1
0
        private static AssetBundleManifest BuildAssetBubdle(AssetBundleBuildDescriptor assetBundleBuildDescriptor)
        {
            string outputPath = assetBundleBuildDescriptor.OutputPath;

            AssetDatabase.RemoveUnusedAssetBundleNames();
            EditorUserBuildSettings.SwitchActiveBuildTarget(assetBundleBuildDescriptor.Group, assetBundleBuildDescriptor.Target);
            DirectoryHelper.EnsureExist(outputPath);
            return(BuildPipeline.BuildAssetBundles(outputPath, assetBundleBuildDescriptor.Options, assetBundleBuildDescriptor.Target));
        }
示例#2
0
        private static void Build(BuildTargetGroup group, BuildTarget target)
        {
            string bundleOutputPath = $"{AssetBundlePath}{target.ToString()}";

            AssetBundleBuildDescriptor buildDescriptor = new AssetBundleBuildDescriptor
            {
                Group      = group,
                Options    = BuildAssetBundleOptions.ChunkBasedCompression,
                Target     = target,
                OutputPath = bundleOutputPath
            };

            FileDescriptor fileDescriptor = new FileDescriptor
            {
                Path = bundleOutputPath,
                Name = ResourceManifestFileName
            };

            AssetBundleManifest manifest = BuildAssetBubdle(buildDescriptor);
            string resourceInfo          = BuildAssetsManifest(manifest, fileDescriptor);

            Debug.Log(resourceInfo);
            FileHelper.WriteBytes(fileDescriptor.Path, fileDescriptor.Name, Encoding.UTF8.GetBytes(resourceInfo));
        }