//------------------------------------------------------------ // Game Framework // Copyright © 2013-2021 loyalsoft. All rights reserved. // Homepage: http://www.game7000.com/ // Feedback: http://www.game7000.com/ //------------------------------------------------------------ using UnityEditor; using UnityEngine; namespace UnityGameFramework.Editor.ResourceTools { /// /// 生成资源事件处理函数。 /// public interface IBuildEventHandler { /// /// 获取当某个平台生成失败时,是否继续生成下一个平台。 /// bool ContinueOnFailure { get; } /// /// 所有平台生成开始前的预处理事件。 /// /// 产品名称。 /// 公司名称。 /// 游戏识别号。 /// 游戏框架版本。 /// Unity 版本。 /// 适用游戏版本。 /// 内部资源版本。 /// 生成的目标平台。 /// AssetBundle 压缩类型。 /// 压缩解压缩辅助器类型名称。 /// 是否进行再压缩以降低传输开销。 /// 是否强制重新构建 AssetBundle。 /// 生成资源事件处理函数名称。 /// 生成目录。 /// AssetBundle 生成选项。 /// 生成时的工作路径。 /// 是否生成单机模式所需的文件。 /// 为单机模式生成的文件存放于此路径。若游戏是单机游戏,生成结束后将此目录中对应平台的文件拷贝至 StreamingAssets 后打包 App 即可。 /// 是否生成可更新模式所需的远程文件。 /// 为可更新模式生成的远程文件存放于此路径。若游戏是网络游戏,生成结束后应将此目录上传至 Web 服务器,供玩家下载用。 /// 是否生成可更新模式所需的本地文件。 /// 为可更新模式生成的本地文件存放于此路径。若游戏是网络游戏,生成结束后将此目录中对应平台的文件拷贝至 StreamingAssets 后打包 App 即可。 /// 生成报告路径。 void OnPreprocessAllPlatforms(string productName, string companyName, string gameIdentifier, string gameFrameworkVersion, string unityVersion, string applicableGameVersion, int internalResourceVersion, Platform platforms, AssetBundleCompressionType assetBundleCompression, string compressionHelperTypeName, bool additionalCompressionSelected, bool forceRebuildAssetBundleSelected, string buildEventHandlerTypeName, string outputDirectory, BuildAssetBundleOptions buildAssetBundleOptions, string workingPath, bool outputPackageSelected, string outputPackagePath, bool outputFullSelected, string outputFullPath, bool outputPackedSelected, string outputPackedPath, string buildReportPath); /// /// 某个平台生成开始前的预处理事件。 /// /// 生成平台。 /// 生成时的工作路径。 /// 是否生成单机模式所需的文件。 /// 为单机模式生成的文件存放于此路径。若游戏是单机游戏,生成结束后将此目录中对应平台的文件拷贝至 StreamingAssets 后打包 App 即可。 /// 是否生成可更新模式所需的远程文件。 /// 为可更新模式生成的远程文件存放于此路径。若游戏是网络游戏,生成结束后应将此目录上传至 Web 服务器,供玩家下载用。 /// 是否生成可更新模式所需的本地文件。 /// 为可更新模式生成的本地文件存放于此路径。若游戏是网络游戏,生成结束后将此目录中对应平台的文件拷贝至 StreamingAssets 后打包 App 即可。 void OnPreprocessPlatform(Platform platform, string workingPath, bool outputPackageSelected, string outputPackagePath, bool outputFullSelected, string outputFullPath, bool outputPackedSelected, string outputPackedPath); /// /// 某个平台生成 AssetBundle 完成事件。 /// /// 生成平台。 /// 生成时的工作路径。 /// 是否生成单机模式所需的文件。 /// 为单机模式生成的文件存放于此路径。若游戏是单机游戏,生成结束后将此目录中对应平台的文件拷贝至 StreamingAssets 后打包 App 即可。 /// 是否生成可更新模式所需的远程文件。 /// 为可更新模式生成的远程文件存放于此路径。若游戏是网络游戏,生成结束后应将此目录上传至 Web 服务器,供玩家下载用。 /// 是否生成可更新模式所需的本地文件。 /// 为可更新模式生成的本地文件存放于此路径。若游戏是网络游戏,生成结束后将此目录中对应平台的文件拷贝至 StreamingAssets 后打包 App 即可。 /// AssetBundle 的描述文件。 void OnBuildAssetBundlesComplete(Platform platform, string workingPath, bool outputPackageSelected, string outputPackagePath, bool outputFullSelected, string outputFullPath, bool outputPackedSelected, string outputPackedPath, AssetBundleManifest assetBundleManifest); /// /// 某个平台可更新模式版本列表文件的输出事件。 /// /// 生成平台。 /// 可更新模式版本列表文件的路径。 /// 可更新模式版本列表文件的长度。 /// 可更新模式版本列表文件的校验值。 /// 可更新模式版本列表文件压缩后的长度。 /// 可更新模式版本列表文件压缩后的校验值。 void OnOutputUpdatableVersionListData(Platform platform, string versionListPath, int versionListLength, int versionListHashCode, int versionListCompressedLength, int versionListCompressedHashCode); /// /// 某个平台生成结束后的后处理事件。 /// /// 生成平台。 /// 生成时的工作路径。 /// 是否生成单机模式所需的文件。 /// 为单机模式生成的文件存放于此路径。若游戏是单机游戏,生成结束后将此目录中对应平台的文件拷贝至 StreamingAssets 后打包 App 即可。 /// 是否生成可更新模式所需的远程文件。 /// 为可更新模式生成的远程文件存放于此路径。若游戏是网络游戏,生成结束后应将此目录上传至 Web 服务器,供玩家下载用。 /// 是否生成可更新模式所需的本地文件。 /// 为可更新模式生成的本地文件存放于此路径。若游戏是网络游戏,生成结束后将此目录中对应平台的文件拷贝至 StreamingAssets 后打包 App 即可。 /// 是否生成成功。 void OnPostprocessPlatform(Platform platform, string workingPath, bool outputPackageSelected, string outputPackagePath, bool outputFullSelected, string outputFullPath, bool outputPackedSelected, string outputPackedPath, bool isSuccess); /// /// 所有平台生成结束后的后处理事件。 /// /// 产品名称。 /// 公司名称。 /// 游戏识别号。 /// 游戏框架版本。 /// Unity 版本。 /// 适用游戏版本。 /// 内部资源版本。 /// 生成的目标平台。 /// AssetBundle 压缩类型。 /// 压缩解压缩辅助器类型名称。 /// 是否进行再压缩以降低传输开销。 /// 是否强制重新构建 AssetBundle。 /// 生成资源事件处理函数名称。 /// 生成目录。 /// AssetBundle 生成选项。 /// 生成时的工作路径。 /// 是否生成单机模式所需的文件。 /// 为单机模式生成的文件存放于此路径。若游戏是单机游戏,生成结束后将此目录中对应平台的文件拷贝至 StreamingAssets 后打包 App 即可。 /// 是否生成可更新模式所需的远程文件。 /// 为可更新模式生成的远程文件存放于此路径。若游戏是网络游戏,生成结束后应将此目录上传至 Web 服务器,供玩家下载用。 /// 是否生成可更新模式所需的本地文件。 /// 为可更新模式生成的本地文件存放于此路径。若游戏是网络游戏,生成结束后将此目录中对应平台的文件拷贝至 StreamingAssets 后打包 App 即可。 /// 生成报告路径。 void OnPostprocessAllPlatforms(string productName, string companyName, string gameIdentifier, string gameFrameworkVersion, string unityVersion, string applicableGameVersion, int internalResourceVersion, Platform platforms, AssetBundleCompressionType assetBundleCompression, string compressionHelperTypeName, bool additionalCompressionSelected, bool forceRebuildAssetBundleSelected, string buildEventHandlerTypeName, string outputDirectory, BuildAssetBundleOptions buildAssetBundleOptions, string workingPath, bool outputPackageSelected, string outputPackagePath, bool outputFullSelected, string outputFullPath, bool outputPackedSelected, string outputPackedPath, string buildReportPath); } }