mirror of
https://github.com/tuyoogame/YooAsset.git
synced 2026-05-27 11:10:11 +00:00
fix typos: buildin=>builtin
This commit is contained in:
@@ -22,7 +22,7 @@ namespace YooAsset.Editor
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public static string GetStreamingAssetsRoot()
|
public static string GetStreamingAssetsRoot()
|
||||||
{
|
{
|
||||||
return YooAssetSettingsData.GetYooDefaultBuildinRoot();
|
return YooAssetSettingsData.GetYooDefaultBuiltinRoot();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -43,28 +43,28 @@ namespace YooAsset.Editor
|
|||||||
EditorPrefs.SetInt(key, (int)fileNameStyle);
|
EditorPrefs.SetInt(key, (int)fileNameStyle);
|
||||||
}
|
}
|
||||||
|
|
||||||
// EBuildinFileCopyOption
|
// EBuiltinFileCopyOption
|
||||||
public static EBuildinFileCopyOption GetPackageBuildinFileCopyOption(string packageName, string buildPipeline)
|
public static EBuiltinFileCopyOption GetPackageBuiltinFileCopyOption(string packageName, string buildPipeline)
|
||||||
{
|
{
|
||||||
string key = $"{Application.productName}_{packageName}_{buildPipeline}_{nameof(EBuildinFileCopyOption)}";
|
string key = $"{Application.productName}_{packageName}_{buildPipeline}_{nameof(EBuiltinFileCopyOption)}";
|
||||||
return (EBuildinFileCopyOption)EditorPrefs.GetInt(key, (int)EBuildinFileCopyOption.None);
|
return (EBuiltinFileCopyOption)EditorPrefs.GetInt(key, (int)EBuiltinFileCopyOption.None);
|
||||||
}
|
}
|
||||||
public static void SetPackageBuildinFileCopyOption(string packageName, string buildPipeline, EBuildinFileCopyOption buildinFileCopyOption)
|
public static void SetPackageBuiltinFileCopyOption(string packageName, string buildPipeline, EBuiltinFileCopyOption builtinFileCopyOption)
|
||||||
{
|
{
|
||||||
string key = $"{Application.productName}_{packageName}_{buildPipeline}_{nameof(EBuildinFileCopyOption)}";
|
string key = $"{Application.productName}_{packageName}_{buildPipeline}_{nameof(EBuiltinFileCopyOption)}";
|
||||||
EditorPrefs.SetInt(key, (int)buildinFileCopyOption);
|
EditorPrefs.SetInt(key, (int)builtinFileCopyOption);
|
||||||
}
|
}
|
||||||
|
|
||||||
// BuildFileCopyParams
|
// BuildFileCopyParams
|
||||||
public static string GetPackageBuildinFileCopyParams(string packageName, string buildPipeline)
|
public static string GetPackageBuiltinFileCopyParams(string packageName, string buildPipeline)
|
||||||
{
|
{
|
||||||
string key = $"{Application.productName}_{packageName}_{buildPipeline}_BuildFileCopyParams";
|
string key = $"{Application.productName}_{packageName}_{buildPipeline}_BuildFileCopyParams";
|
||||||
return EditorPrefs.GetString(key, string.Empty);
|
return EditorPrefs.GetString(key, string.Empty);
|
||||||
}
|
}
|
||||||
public static void SetPackageBuildinFileCopyParams(string packageName, string buildPipeline, string buildinFileCopyParams)
|
public static void SetPackageBuiltinFileCopyParams(string packageName, string buildPipeline, string builtinFileCopyParams)
|
||||||
{
|
{
|
||||||
string key = $"{Application.productName}_{packageName}_{buildPipeline}_BuildFileCopyParams";
|
string key = $"{Application.productName}_{packageName}_{buildPipeline}_BuildFileCopyParams";
|
||||||
EditorPrefs.SetString(key, buildinFileCopyParams);
|
EditorPrefs.SetString(key, builtinFileCopyParams);
|
||||||
}
|
}
|
||||||
|
|
||||||
// EncyptionServicesClassName
|
// EncyptionServicesClassName
|
||||||
|
|||||||
@@ -17,15 +17,15 @@ namespace YooAsset.Editor
|
|||||||
{
|
{
|
||||||
var buildParameters = new EditorSimulateBuildParameters();
|
var buildParameters = new EditorSimulateBuildParameters();
|
||||||
buildParameters.BuildOutputRoot = AssetBundleBuilderHelper.GetDefaultBuildOutputRoot();
|
buildParameters.BuildOutputRoot = AssetBundleBuilderHelper.GetDefaultBuildOutputRoot();
|
||||||
buildParameters.BuildinFileRoot = AssetBundleBuilderHelper.GetStreamingAssetsRoot();
|
buildParameters.BuiltinFileRoot = AssetBundleBuilderHelper.GetStreamingAssetsRoot();
|
||||||
buildParameters.BuildPipeline = EBuildPipeline.EditorSimulateBuildPipeline.ToString();
|
buildParameters.BuildPipeline = EBuildPipeline.EditorSimulateBuildPipeline.ToString();
|
||||||
buildParameters.BuildBundleType = (int)EBuildBundleType.VirtualBundle;
|
buildParameters.BuildBundleType = (int)EBuildBundleType.VirtualBundle;
|
||||||
buildParameters.BuildTarget = EditorUserBuildSettings.activeBuildTarget;
|
buildParameters.BuildTarget = EditorUserBuildSettings.activeBuildTarget;
|
||||||
buildParameters.PackageName = packageName;
|
buildParameters.PackageName = packageName;
|
||||||
buildParameters.PackageVersion = "Simulate";
|
buildParameters.PackageVersion = "Simulate";
|
||||||
buildParameters.FileNameStyle = EFileNameStyle.HashName;
|
buildParameters.FileNameStyle = EFileNameStyle.HashName;
|
||||||
buildParameters.BuildinFileCopyOption = EBuildinFileCopyOption.None;
|
buildParameters.BuiltinFileCopyOption = EBuiltinFileCopyOption.None;
|
||||||
buildParameters.BuildinFileCopyParams = string.Empty;
|
buildParameters.BuiltinFileCopyParams = string.Empty;
|
||||||
buildParameters.UseAssetDependencyDB = true;
|
buildParameters.UseAssetDependencyDB = true;
|
||||||
|
|
||||||
var pipeline = new EditorSimulateBuildPipeline();
|
var pipeline = new EditorSimulateBuildPipeline();
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ namespace YooAsset.Editor
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 内置文件的根目录
|
/// 内置文件的根目录
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string BuildinFileRoot;
|
public string BuiltinFileRoot;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 构建管线名称
|
/// 构建管线名称
|
||||||
@@ -86,12 +86,12 @@ namespace YooAsset.Editor
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 内置文件的拷贝选项
|
/// 内置文件的拷贝选项
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public EBuildinFileCopyOption BuildinFileCopyOption = EBuildinFileCopyOption.None;
|
public EBuiltinFileCopyOption BuiltinFileCopyOption = EBuiltinFileCopyOption.None;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 内置文件的拷贝参数
|
/// 内置文件的拷贝参数
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string BuildinFileCopyParams;
|
public string BuiltinFileCopyParams;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 资源包加密服务类
|
/// 资源包加密服务类
|
||||||
@@ -111,7 +111,7 @@ namespace YooAsset.Editor
|
|||||||
private string _pipelineOutputDirectory = string.Empty;
|
private string _pipelineOutputDirectory = string.Empty;
|
||||||
private string _packageOutputDirectory = string.Empty;
|
private string _packageOutputDirectory = string.Empty;
|
||||||
private string _packageRootDirectory = string.Empty;
|
private string _packageRootDirectory = string.Empty;
|
||||||
private string _buildinRootDirectory = string.Empty;
|
private string _builtinRootDirectory = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 检测构建参数是否合法
|
/// 检测构建参数是否合法
|
||||||
@@ -136,9 +136,9 @@ namespace YooAsset.Editor
|
|||||||
string message = BuildLogger.GetErrorMessage(ErrorCode.BuildOutputRootIsNullOrEmpty, "Build output root is null or empty !");
|
string message = BuildLogger.GetErrorMessage(ErrorCode.BuildOutputRootIsNullOrEmpty, "Build output root is null or empty !");
|
||||||
throw new Exception(message);
|
throw new Exception(message);
|
||||||
}
|
}
|
||||||
if (string.IsNullOrEmpty(BuildinFileRoot))
|
if (string.IsNullOrEmpty(BuiltinFileRoot))
|
||||||
{
|
{
|
||||||
string message = BuildLogger.GetErrorMessage(ErrorCode.BuildinFileRootIsNullOrEmpty, "Buildin file root is null or empty !");
|
string message = BuildLogger.GetErrorMessage(ErrorCode.BuiltinFileRootIsNullOrEmpty, "Builtin file root is null or empty !");
|
||||||
throw new Exception(message);
|
throw new Exception(message);
|
||||||
}
|
}
|
||||||
if (string.IsNullOrEmpty(BuildPipeline))
|
if (string.IsNullOrEmpty(BuildPipeline))
|
||||||
@@ -210,13 +210,13 @@ namespace YooAsset.Editor
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取内置资源的根目录
|
/// 获取内置资源的根目录
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public virtual string GetBuildinRootDirectory()
|
public virtual string GetBuiltinRootDirectory()
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(_buildinRootDirectory))
|
if (string.IsNullOrEmpty(_builtinRootDirectory))
|
||||||
{
|
{
|
||||||
_buildinRootDirectory = $"{BuildinFileRoot}/{PackageName}";
|
_builtinRootDirectory = $"{BuiltinFileRoot}/{PackageName}";
|
||||||
}
|
}
|
||||||
return _buildinRootDirectory;
|
return _builtinRootDirectory;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -55,9 +55,9 @@ namespace YooAsset.Editor
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取内置资源的根目录
|
/// 获取内置资源的根目录
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string GetBuildinRootDirectory()
|
public string GetBuiltinRootDirectory()
|
||||||
{
|
{
|
||||||
return Parameters.GetBuildinRootDirectory();
|
return Parameters.GetBuiltinRootDirectory();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -6,30 +6,30 @@ using UnityEngine;
|
|||||||
|
|
||||||
namespace YooAsset.Editor
|
namespace YooAsset.Editor
|
||||||
{
|
{
|
||||||
public class TaskCopyBuildinFiles
|
public class TaskCopyBuiltinFiles
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 拷贝首包资源文件
|
/// 拷贝首包资源文件
|
||||||
/// </summary>
|
/// </summary>
|
||||||
internal void CopyBuildinFilesToStreaming(BuildParametersContext buildParametersContext, PackageManifest manifest)
|
internal void CopyBuiltinFilesToStreaming(BuildParametersContext buildParametersContext, PackageManifest manifest)
|
||||||
{
|
{
|
||||||
EBuildinFileCopyOption copyOption = buildParametersContext.Parameters.BuildinFileCopyOption;
|
EBuiltinFileCopyOption copyOption = buildParametersContext.Parameters.BuiltinFileCopyOption;
|
||||||
string packageOutputDirectory = buildParametersContext.GetPackageOutputDirectory();
|
string packageOutputDirectory = buildParametersContext.GetPackageOutputDirectory();
|
||||||
string buildinRootDirectory = buildParametersContext.GetBuildinRootDirectory();
|
string builtinRootDirectory = buildParametersContext.GetBuiltinRootDirectory();
|
||||||
string buildPackageName = buildParametersContext.Parameters.PackageName;
|
string buildPackageName = buildParametersContext.Parameters.PackageName;
|
||||||
string buildPackageVersion = buildParametersContext.Parameters.PackageVersion;
|
string buildPackageVersion = buildParametersContext.Parameters.PackageVersion;
|
||||||
|
|
||||||
// 清空内置文件的目录
|
// 清空内置文件的目录
|
||||||
if (copyOption == EBuildinFileCopyOption.ClearAndCopyAll || copyOption == EBuildinFileCopyOption.ClearAndCopyByTags)
|
if (copyOption == EBuiltinFileCopyOption.ClearAndCopyAll || copyOption == EBuiltinFileCopyOption.ClearAndCopyByTags)
|
||||||
{
|
{
|
||||||
EditorTools.ClearFolder(buildinRootDirectory);
|
EditorTools.ClearFolder(builtinRootDirectory);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 拷贝补丁清单文件
|
// 拷贝补丁清单文件
|
||||||
{
|
{
|
||||||
string fileName = YooAssetSettingsData.GetManifestBinaryFileName(buildPackageName, buildPackageVersion);
|
string fileName = YooAssetSettingsData.GetManifestBinaryFileName(buildPackageName, buildPackageVersion);
|
||||||
string sourcePath = $"{packageOutputDirectory}/{fileName}";
|
string sourcePath = $"{packageOutputDirectory}/{fileName}";
|
||||||
string destPath = $"{buildinRootDirectory}/{fileName}";
|
string destPath = $"{builtinRootDirectory}/{fileName}";
|
||||||
EditorTools.CopyFile(sourcePath, destPath, true);
|
EditorTools.CopyFile(sourcePath, destPath, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -37,7 +37,7 @@ namespace YooAsset.Editor
|
|||||||
{
|
{
|
||||||
string fileName = YooAssetSettingsData.GetPackageHashFileName(buildPackageName, buildPackageVersion);
|
string fileName = YooAssetSettingsData.GetPackageHashFileName(buildPackageName, buildPackageVersion);
|
||||||
string sourcePath = $"{packageOutputDirectory}/{fileName}";
|
string sourcePath = $"{packageOutputDirectory}/{fileName}";
|
||||||
string destPath = $"{buildinRootDirectory}/{fileName}";
|
string destPath = $"{builtinRootDirectory}/{fileName}";
|
||||||
EditorTools.CopyFile(sourcePath, destPath, true);
|
EditorTools.CopyFile(sourcePath, destPath, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -45,38 +45,38 @@ namespace YooAsset.Editor
|
|||||||
{
|
{
|
||||||
string fileName = YooAssetSettingsData.GetPackageVersionFileName(buildPackageName);
|
string fileName = YooAssetSettingsData.GetPackageVersionFileName(buildPackageName);
|
||||||
string sourcePath = $"{packageOutputDirectory}/{fileName}";
|
string sourcePath = $"{packageOutputDirectory}/{fileName}";
|
||||||
string destPath = $"{buildinRootDirectory}/{fileName}";
|
string destPath = $"{builtinRootDirectory}/{fileName}";
|
||||||
EditorTools.CopyFile(sourcePath, destPath, true);
|
EditorTools.CopyFile(sourcePath, destPath, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 拷贝文件列表(所有文件)
|
// 拷贝文件列表(所有文件)
|
||||||
if (copyOption == EBuildinFileCopyOption.ClearAndCopyAll || copyOption == EBuildinFileCopyOption.OnlyCopyAll)
|
if (copyOption == EBuiltinFileCopyOption.ClearAndCopyAll || copyOption == EBuiltinFileCopyOption.OnlyCopyAll)
|
||||||
{
|
{
|
||||||
foreach (var packageBundle in manifest.BundleList)
|
foreach (var packageBundle in manifest.BundleList)
|
||||||
{
|
{
|
||||||
string sourcePath = $"{packageOutputDirectory}/{packageBundle.FileName}";
|
string sourcePath = $"{packageOutputDirectory}/{packageBundle.FileName}";
|
||||||
string destPath = $"{buildinRootDirectory}/{packageBundle.FileName}";
|
string destPath = $"{builtinRootDirectory}/{packageBundle.FileName}";
|
||||||
EditorTools.CopyFile(sourcePath, destPath, true);
|
EditorTools.CopyFile(sourcePath, destPath, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 拷贝文件列表(带标签的文件)
|
// 拷贝文件列表(带标签的文件)
|
||||||
if (copyOption == EBuildinFileCopyOption.ClearAndCopyByTags || copyOption == EBuildinFileCopyOption.OnlyCopyByTags)
|
if (copyOption == EBuiltinFileCopyOption.ClearAndCopyByTags || copyOption == EBuiltinFileCopyOption.OnlyCopyByTags)
|
||||||
{
|
{
|
||||||
string[] tags = buildParametersContext.Parameters.BuildinFileCopyParams.Split(';');
|
string[] tags = buildParametersContext.Parameters.BuiltinFileCopyParams.Split(';');
|
||||||
foreach (var packageBundle in manifest.BundleList)
|
foreach (var packageBundle in manifest.BundleList)
|
||||||
{
|
{
|
||||||
if (packageBundle.HasTag(tags) == false)
|
if (packageBundle.HasTag(tags) == false)
|
||||||
continue;
|
continue;
|
||||||
string sourcePath = $"{packageOutputDirectory}/{packageBundle.FileName}";
|
string sourcePath = $"{packageOutputDirectory}/{packageBundle.FileName}";
|
||||||
string destPath = $"{buildinRootDirectory}/{packageBundle.FileName}";
|
string destPath = $"{builtinRootDirectory}/{packageBundle.FileName}";
|
||||||
EditorTools.CopyFile(sourcePath, destPath, true);
|
EditorTools.CopyFile(sourcePath, destPath, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 刷新目录
|
// 刷新目录
|
||||||
AssetDatabase.Refresh();
|
AssetDatabase.Refresh();
|
||||||
BuildLogger.Log($"Buildin files copy complete: {buildinRootDirectory}");
|
BuildLogger.Log($"Builtin files copy complete: {builtinRootDirectory}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -12,10 +12,10 @@ namespace YooAsset.Editor
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
internal void CreateCatalogFile(BuildParametersContext buildParametersContext)
|
internal void CreateCatalogFile(BuildParametersContext buildParametersContext)
|
||||||
{
|
{
|
||||||
string buildinRootDirectory = buildParametersContext.GetBuildinRootDirectory();
|
string builtinRootDirectory = buildParametersContext.GetBuiltinRootDirectory();
|
||||||
string buildPackageName = buildParametersContext.Parameters.PackageName;
|
string buildPackageName = buildParametersContext.Parameters.PackageName;
|
||||||
var manifestServices = buildParametersContext.Parameters.ManifestRestoreServices;
|
var manifestServices = buildParametersContext.Parameters.ManifestRestoreServices;
|
||||||
CatalogTools.CreateCatalogFile(manifestServices, buildPackageName, buildinRootDirectory);
|
CatalogTools.CreateCatalogFile(manifestServices, buildPackageName, builtinRootDirectory);
|
||||||
|
|
||||||
// 刷新目录
|
// 刷新目录
|
||||||
AssetDatabase.Refresh();
|
AssetDatabase.Refresh();
|
||||||
|
|||||||
@@ -6,15 +6,15 @@ using UnityEngine;
|
|||||||
|
|
||||||
namespace YooAsset.Editor
|
namespace YooAsset.Editor
|
||||||
{
|
{
|
||||||
public class TaskCopyBuildinFiles_BBP : TaskCopyBuildinFiles, IBuildTask
|
public class TaskCopyBuiltinFiles_BBP : TaskCopyBuiltinFiles, IBuildTask
|
||||||
{
|
{
|
||||||
void IBuildTask.Run(BuildContext context)
|
void IBuildTask.Run(BuildContext context)
|
||||||
{
|
{
|
||||||
var buildParametersContext = context.GetContextObject<BuildParametersContext>();
|
var buildParametersContext = context.GetContextObject<BuildParametersContext>();
|
||||||
var manifestContext = context.GetContextObject<ManifestContext>();
|
var manifestContext = context.GetContextObject<ManifestContext>();
|
||||||
if (buildParametersContext.Parameters.BuildinFileCopyOption != EBuildinFileCopyOption.None)
|
if (buildParametersContext.Parameters.BuiltinFileCopyOption != EBuiltinFileCopyOption.None)
|
||||||
{
|
{
|
||||||
CopyBuildinFilesToStreaming(buildParametersContext, manifestContext.Manifest);
|
CopyBuiltinFilesToStreaming(buildParametersContext, manifestContext.Manifest);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -11,7 +11,7 @@ namespace YooAsset.Editor
|
|||||||
void IBuildTask.Run(BuildContext context)
|
void IBuildTask.Run(BuildContext context)
|
||||||
{
|
{
|
||||||
var buildParametersContext = context.GetContextObject<BuildParametersContext>();
|
var buildParametersContext = context.GetContextObject<BuildParametersContext>();
|
||||||
if (buildParametersContext.Parameters.BuildinFileCopyOption != EBuildinFileCopyOption.None)
|
if (buildParametersContext.Parameters.BuiltinFileCopyOption != EBuiltinFileCopyOption.None)
|
||||||
{
|
{
|
||||||
CreateCatalogFile(buildParametersContext);
|
CreateCatalogFile(buildParametersContext);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ namespace YooAsset.Editor
|
|||||||
new TaskCreateManifest_BBP(),
|
new TaskCreateManifest_BBP(),
|
||||||
new TaskCreateReport_BBP(),
|
new TaskCreateReport_BBP(),
|
||||||
new TaskCreatePackage_BBP(),
|
new TaskCreatePackage_BBP(),
|
||||||
new TaskCopyBuildinFiles_BBP(),
|
new TaskCopyBuiltinFiles_BBP(),
|
||||||
new TaskCreateCatalog_BBP()
|
new TaskCreateCatalog_BBP()
|
||||||
};
|
};
|
||||||
return pipeline;
|
return pipeline;
|
||||||
|
|||||||
@@ -6,16 +6,16 @@ using UnityEngine;
|
|||||||
|
|
||||||
namespace YooAsset.Editor
|
namespace YooAsset.Editor
|
||||||
{
|
{
|
||||||
public class TaskCopyBuildinFiles_RFBP : TaskCopyBuildinFiles, IBuildTask
|
public class TaskCopyBuiltinFiles_RFBP : TaskCopyBuiltinFiles, IBuildTask
|
||||||
{
|
{
|
||||||
void IBuildTask.Run(BuildContext context)
|
void IBuildTask.Run(BuildContext context)
|
||||||
{
|
{
|
||||||
var buildParametersContext = context.GetContextObject<BuildParametersContext>();
|
var buildParametersContext = context.GetContextObject<BuildParametersContext>();
|
||||||
var buildParameters = buildParametersContext.Parameters;
|
var buildParameters = buildParametersContext.Parameters;
|
||||||
var manifestContext = context.GetContextObject<ManifestContext>();
|
var manifestContext = context.GetContextObject<ManifestContext>();
|
||||||
if (buildParameters.BuildinFileCopyOption != EBuildinFileCopyOption.None)
|
if (buildParameters.BuiltinFileCopyOption != EBuiltinFileCopyOption.None)
|
||||||
{
|
{
|
||||||
CopyBuildinFilesToStreaming(buildParametersContext, manifestContext.Manifest);
|
CopyBuiltinFilesToStreaming(buildParametersContext, manifestContext.Manifest);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -11,7 +11,7 @@ namespace YooAsset.Editor
|
|||||||
void IBuildTask.Run(BuildContext context)
|
void IBuildTask.Run(BuildContext context)
|
||||||
{
|
{
|
||||||
var buildParametersContext = context.GetContextObject<BuildParametersContext>();
|
var buildParametersContext = context.GetContextObject<BuildParametersContext>();
|
||||||
if (buildParametersContext.Parameters.BuildinFileCopyOption != EBuildinFileCopyOption.None)
|
if (buildParametersContext.Parameters.BuiltinFileCopyOption != EBuiltinFileCopyOption.None)
|
||||||
{
|
{
|
||||||
CreateCatalogFile(buildParametersContext);
|
CreateCatalogFile(buildParametersContext);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ namespace YooAsset.Editor
|
|||||||
new TaskCreateManifest_RFBP(),
|
new TaskCreateManifest_RFBP(),
|
||||||
new TaskCreateReport_RFBP(),
|
new TaskCreateReport_RFBP(),
|
||||||
new TaskCreatePackage_RFBP(),
|
new TaskCreatePackage_RFBP(),
|
||||||
new TaskCopyBuildinFiles_RFBP(),
|
new TaskCopyBuiltinFiles_RFBP(),
|
||||||
new TaskCreateCatalog_RFBP()
|
new TaskCreateCatalog_RFBP()
|
||||||
};
|
};
|
||||||
return pipeline;
|
return pipeline;
|
||||||
|
|||||||
@@ -6,15 +6,15 @@ using UnityEngine;
|
|||||||
|
|
||||||
namespace YooAsset.Editor
|
namespace YooAsset.Editor
|
||||||
{
|
{
|
||||||
public class TaskCopyBuildinFiles_SBP : TaskCopyBuildinFiles, IBuildTask
|
public class TaskCopyBuiltinFiles_SBP : TaskCopyBuiltinFiles, IBuildTask
|
||||||
{
|
{
|
||||||
void IBuildTask.Run(BuildContext context)
|
void IBuildTask.Run(BuildContext context)
|
||||||
{
|
{
|
||||||
var buildParametersContext = context.GetContextObject<BuildParametersContext>();
|
var buildParametersContext = context.GetContextObject<BuildParametersContext>();
|
||||||
var manifestContext = context.GetContextObject<ManifestContext>();
|
var manifestContext = context.GetContextObject<ManifestContext>();
|
||||||
if (buildParametersContext.Parameters.BuildinFileCopyOption != EBuildinFileCopyOption.None)
|
if (buildParametersContext.Parameters.BuiltinFileCopyOption != EBuiltinFileCopyOption.None)
|
||||||
{
|
{
|
||||||
CopyBuildinFilesToStreaming(buildParametersContext, manifestContext.Manifest);
|
CopyBuiltinFilesToStreaming(buildParametersContext, manifestContext.Manifest);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -11,7 +11,7 @@ namespace YooAsset.Editor
|
|||||||
void IBuildTask.Run(BuildContext context)
|
void IBuildTask.Run(BuildContext context)
|
||||||
{
|
{
|
||||||
var buildParametersContext = context.GetContextObject<BuildParametersContext>();
|
var buildParametersContext = context.GetContextObject<BuildParametersContext>();
|
||||||
if (buildParametersContext.Parameters.BuildinFileCopyOption != EBuildinFileCopyOption.None)
|
if (buildParametersContext.Parameters.BuiltinFileCopyOption != EBuiltinFileCopyOption.None)
|
||||||
{
|
{
|
||||||
CreateCatalogFile(buildParametersContext);
|
CreateCatalogFile(buildParametersContext);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ namespace YooAsset.Editor
|
|||||||
new TaskCreateManifest_SBP(),
|
new TaskCreateManifest_SBP(),
|
||||||
new TaskCreateReport_SBP(),
|
new TaskCreateReport_SBP(),
|
||||||
new TaskCreatePackage_SBP(),
|
new TaskCreatePackage_SBP(),
|
||||||
new TaskCopyBuildinFiles_SBP(),
|
new TaskCopyBuiltinFiles_SBP(),
|
||||||
new TaskCreateCatalog_SBP()
|
new TaskCreateCatalog_SBP()
|
||||||
};
|
};
|
||||||
return pipeline;
|
return pipeline;
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ namespace YooAsset.Editor
|
|||||||
PackageNameIsNullOrEmpty = 111,
|
PackageNameIsNullOrEmpty = 111,
|
||||||
PackageVersionIsNullOrEmpty = 112,
|
PackageVersionIsNullOrEmpty = 112,
|
||||||
BuildOutputRootIsNullOrEmpty = 113,
|
BuildOutputRootIsNullOrEmpty = 113,
|
||||||
BuildinFileRootIsNullOrEmpty = 114,
|
BuiltinFileRootIsNullOrEmpty = 114,
|
||||||
PackageOutputDirectoryExists = 115,
|
PackageOutputDirectoryExists = 115,
|
||||||
BuildPipelineIsNullOrEmpty = 116,
|
BuildPipelineIsNullOrEmpty = 116,
|
||||||
BuildBundleTypeIsUnknown = 117,
|
BuildBundleTypeIsUnknown = 117,
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ namespace YooAsset.Editor
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 首包资源文件的拷贝方式
|
/// 首包资源文件的拷贝方式
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public enum EBuildinFileCopyOption
|
public enum EBuiltinFileCopyOption
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 不拷贝任何文件
|
/// 不拷贝任何文件
|
||||||
@@ -127,35 +127,35 @@ namespace YooAsset.Editor
|
|||||||
});
|
});
|
||||||
UIElementsTools.SetElementLabelMinWidth(enumField, LabelMinWidth);
|
UIElementsTools.SetElementLabelMinWidth(enumField, LabelMinWidth);
|
||||||
}
|
}
|
||||||
protected void SetCopyBuildinFileOptionField(EnumField enumField, TextField tagField)
|
protected void SetCopyBuiltinFileOptionField(EnumField enumField, TextField tagField)
|
||||||
{
|
{
|
||||||
// 首包文件拷贝选项
|
// 首包文件拷贝选项
|
||||||
var buildinFileCopyOption = AssetBundleBuilderSetting.GetPackageBuildinFileCopyOption(PackageName, PipelineName);
|
var builtinFileCopyOption = AssetBundleBuilderSetting.GetPackageBuiltinFileCopyOption(PackageName, PipelineName);
|
||||||
enumField.Init(buildinFileCopyOption);
|
enumField.Init(builtinFileCopyOption);
|
||||||
enumField.SetValueWithoutNotify(buildinFileCopyOption);
|
enumField.SetValueWithoutNotify(builtinFileCopyOption);
|
||||||
enumField.style.width = StyleWidth;
|
enumField.style.width = StyleWidth;
|
||||||
enumField.RegisterValueChangedCallback(evt =>
|
enumField.RegisterValueChangedCallback(evt =>
|
||||||
{
|
{
|
||||||
AssetBundleBuilderSetting.SetPackageBuildinFileCopyOption(PackageName, PipelineName, (EBuildinFileCopyOption)enumField.value);
|
AssetBundleBuilderSetting.SetPackageBuiltinFileCopyOption(PackageName, PipelineName, (EBuiltinFileCopyOption)enumField.value);
|
||||||
|
|
||||||
// 设置内置资源标签显隐
|
// 设置内置资源标签显隐
|
||||||
SetCopyBuildinFileTagsVisible(tagField);
|
SetCopyBuiltinFileTagsVisible(tagField);
|
||||||
});
|
});
|
||||||
UIElementsTools.SetElementLabelMinWidth(enumField, LabelMinWidth);
|
UIElementsTools.SetElementLabelMinWidth(enumField, LabelMinWidth);
|
||||||
}
|
}
|
||||||
protected void SetCopyBuildinFileTagsVisible(TextField tagField)
|
protected void SetCopyBuiltinFileTagsVisible(TextField tagField)
|
||||||
{
|
{
|
||||||
var option = AssetBundleBuilderSetting.GetPackageBuildinFileCopyOption(PackageName, PipelineName);
|
var option = AssetBundleBuilderSetting.GetPackageBuiltinFileCopyOption(PackageName, PipelineName);
|
||||||
tagField.visible = option == EBuildinFileCopyOption.ClearAndCopyByTags || option == EBuildinFileCopyOption.OnlyCopyByTags;
|
tagField.visible = option == EBuiltinFileCopyOption.ClearAndCopyByTags || option == EBuiltinFileCopyOption.OnlyCopyByTags;
|
||||||
}
|
}
|
||||||
protected void SetCopyBuildinFileTagsField(TextField textField)
|
protected void SetCopyBuiltinFileTagsField(TextField textField)
|
||||||
{
|
{
|
||||||
// 首包文件拷贝参数
|
// 首包文件拷贝参数
|
||||||
var buildinFileCopyParams = AssetBundleBuilderSetting.GetPackageBuildinFileCopyParams(PackageName, PipelineName);
|
var builtinFileCopyParams = AssetBundleBuilderSetting.GetPackageBuiltinFileCopyParams(PackageName, PipelineName);
|
||||||
textField.SetValueWithoutNotify(buildinFileCopyParams);
|
textField.SetValueWithoutNotify(builtinFileCopyParams);
|
||||||
textField.RegisterValueChangedCallback(evt =>
|
textField.RegisterValueChangedCallback(evt =>
|
||||||
{
|
{
|
||||||
AssetBundleBuilderSetting.SetPackageBuildinFileCopyParams(PackageName, PipelineName, textField.value);
|
AssetBundleBuilderSetting.SetPackageBuiltinFileCopyParams(PackageName, PipelineName, textField.value);
|
||||||
});
|
});
|
||||||
UIElementsTools.SetElementLabelMinWidth(textField, LabelMinWidth);
|
UIElementsTools.SetElementLabelMinWidth(textField, LabelMinWidth);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,8 +21,8 @@ namespace YooAsset.Editor
|
|||||||
protected PopupField<Type> _manifestRestoreServicesField;
|
protected PopupField<Type> _manifestRestoreServicesField;
|
||||||
protected EnumField _compressionField;
|
protected EnumField _compressionField;
|
||||||
protected EnumField _outputNameStyleField;
|
protected EnumField _outputNameStyleField;
|
||||||
protected EnumField _copyBuildinFileOptionField;
|
protected EnumField _copyBuiltinFileOptionField;
|
||||||
protected TextField _copyBuildinFileTagsField;
|
protected TextField _copyBuiltinFileTagsField;
|
||||||
protected Toggle _clearBuildCacheToggle;
|
protected Toggle _clearBuildCacheToggle;
|
||||||
protected Toggle _useAssetDependencyDBToggle;
|
protected Toggle _useAssetDependencyDBToggle;
|
||||||
|
|
||||||
@@ -60,13 +60,13 @@ namespace YooAsset.Editor
|
|||||||
SetOutputNameStyleField(_outputNameStyleField);
|
SetOutputNameStyleField(_outputNameStyleField);
|
||||||
|
|
||||||
// 首包文件拷贝参数
|
// 首包文件拷贝参数
|
||||||
_copyBuildinFileTagsField = Root.Q<TextField>("CopyBuildinFileParam");
|
_copyBuiltinFileTagsField = Root.Q<TextField>("CopyBuiltinFileParam");
|
||||||
SetCopyBuildinFileTagsField(_copyBuildinFileTagsField);
|
SetCopyBuiltinFileTagsField(_copyBuiltinFileTagsField);
|
||||||
SetCopyBuildinFileTagsVisible(_copyBuildinFileTagsField);
|
SetCopyBuiltinFileTagsVisible(_copyBuiltinFileTagsField);
|
||||||
|
|
||||||
// 首包文件拷贝选项
|
// 首包文件拷贝选项
|
||||||
_copyBuildinFileOptionField = Root.Q<EnumField>("CopyBuildinFileOption");
|
_copyBuiltinFileOptionField = Root.Q<EnumField>("CopyBuiltinFileOption");
|
||||||
SetCopyBuildinFileOptionField(_copyBuildinFileOptionField, _copyBuildinFileTagsField);
|
SetCopyBuiltinFileOptionField(_copyBuiltinFileOptionField, _copyBuiltinFileTagsField);
|
||||||
|
|
||||||
// 清理构建缓存
|
// 清理构建缓存
|
||||||
_clearBuildCacheToggle = Root.Q<Toggle>("ClearBuildCache");
|
_clearBuildCacheToggle = Root.Q<Toggle>("ClearBuildCache");
|
||||||
@@ -99,15 +99,15 @@ namespace YooAsset.Editor
|
|||||||
protected virtual void ExecuteBuild()
|
protected virtual void ExecuteBuild()
|
||||||
{
|
{
|
||||||
var fileNameStyle = AssetBundleBuilderSetting.GetPackageFileNameStyle(PackageName, PipelineName);
|
var fileNameStyle = AssetBundleBuilderSetting.GetPackageFileNameStyle(PackageName, PipelineName);
|
||||||
var buildinFileCopyOption = AssetBundleBuilderSetting.GetPackageBuildinFileCopyOption(PackageName, PipelineName);
|
var builtinFileCopyOption = AssetBundleBuilderSetting.GetPackageBuiltinFileCopyOption(PackageName, PipelineName);
|
||||||
var buildinFileCopyParams = AssetBundleBuilderSetting.GetPackageBuildinFileCopyParams(PackageName, PipelineName);
|
var builtinFileCopyParams = AssetBundleBuilderSetting.GetPackageBuiltinFileCopyParams(PackageName, PipelineName);
|
||||||
var compressOption = AssetBundleBuilderSetting.GetPackageCompressOption(PackageName, PipelineName);
|
var compressOption = AssetBundleBuilderSetting.GetPackageCompressOption(PackageName, PipelineName);
|
||||||
var clearBuildCache = AssetBundleBuilderSetting.GetPackageClearBuildCache(PackageName, PipelineName);
|
var clearBuildCache = AssetBundleBuilderSetting.GetPackageClearBuildCache(PackageName, PipelineName);
|
||||||
var useAssetDependencyDB = AssetBundleBuilderSetting.GetPackageUseAssetDependencyDB(PackageName, PipelineName);
|
var useAssetDependencyDB = AssetBundleBuilderSetting.GetPackageUseAssetDependencyDB(PackageName, PipelineName);
|
||||||
|
|
||||||
BuiltinBuildParameters buildParameters = new BuiltinBuildParameters();
|
BuiltinBuildParameters buildParameters = new BuiltinBuildParameters();
|
||||||
buildParameters.BuildOutputRoot = AssetBundleBuilderHelper.GetDefaultBuildOutputRoot();
|
buildParameters.BuildOutputRoot = AssetBundleBuilderHelper.GetDefaultBuildOutputRoot();
|
||||||
buildParameters.BuildinFileRoot = AssetBundleBuilderHelper.GetStreamingAssetsRoot();
|
buildParameters.BuiltinFileRoot = AssetBundleBuilderHelper.GetStreamingAssetsRoot();
|
||||||
buildParameters.BuildPipeline = PipelineName.ToString();
|
buildParameters.BuildPipeline = PipelineName.ToString();
|
||||||
buildParameters.BuildBundleType = (int)EBuildBundleType.AssetBundle;
|
buildParameters.BuildBundleType = (int)EBuildBundleType.AssetBundle;
|
||||||
buildParameters.BuildTarget = BuildTarget;
|
buildParameters.BuildTarget = BuildTarget;
|
||||||
@@ -116,8 +116,8 @@ namespace YooAsset.Editor
|
|||||||
buildParameters.EnableSharePackRule = true;
|
buildParameters.EnableSharePackRule = true;
|
||||||
buildParameters.VerifyBuildingResult = true;
|
buildParameters.VerifyBuildingResult = true;
|
||||||
buildParameters.FileNameStyle = fileNameStyle;
|
buildParameters.FileNameStyle = fileNameStyle;
|
||||||
buildParameters.BuildinFileCopyOption = buildinFileCopyOption;
|
buildParameters.BuiltinFileCopyOption = builtinFileCopyOption;
|
||||||
buildParameters.BuildinFileCopyParams = buildinFileCopyParams;
|
buildParameters.BuiltinFileCopyParams = builtinFileCopyParams;
|
||||||
buildParameters.CompressOption = compressOption;
|
buildParameters.CompressOption = compressOption;
|
||||||
buildParameters.ClearBuildCacheFiles = clearBuildCache;
|
buildParameters.ClearBuildCacheFiles = clearBuildCache;
|
||||||
buildParameters.UseAssetDependencyDB = useAssetDependencyDB;
|
buildParameters.UseAssetDependencyDB = useAssetDependencyDB;
|
||||||
|
|||||||
@@ -7,8 +7,8 @@
|
|||||||
<ui:VisualElement name="PopupContainer" style="flex-grow: 1;" />
|
<ui:VisualElement name="PopupContainer" style="flex-grow: 1;" />
|
||||||
<uie:EnumField label="Compression" value="Center" name="Compression" />
|
<uie:EnumField label="Compression" value="Center" name="Compression" />
|
||||||
<uie:EnumField label="File Name Style" value="Center" name="FileNameStyle" />
|
<uie:EnumField label="File Name Style" value="Center" name="FileNameStyle" />
|
||||||
<uie:EnumField label="Copy Buildin File Option" value="Center" name="CopyBuildinFileOption" />
|
<uie:EnumField label="Copy Builtin File Option" value="Center" name="CopyBuiltinFileOption" />
|
||||||
<ui:TextField picking-mode="Ignore" label="Copy Buildin File Param" name="CopyBuildinFileParam" />
|
<ui:TextField picking-mode="Ignore" label="Copy Builtin File Param" name="CopyBuiltinFileParam" />
|
||||||
<ui:VisualElement name="ExtensionContainer" />
|
<ui:VisualElement name="ExtensionContainer" />
|
||||||
<ui:Button text="Click Build" display-tooltip-when-elided="true" name="Build" style="height: 50px; background-color: rgb(40, 106, 42); margin-top: 10px;" />
|
<ui:Button text="Click Build" display-tooltip-when-elided="true" name="Build" style="height: 50px; background-color: rgb(40, 106, 42); margin-top: 10px;" />
|
||||||
</ui:VisualElement>
|
</ui:VisualElement>
|
||||||
|
|||||||
@@ -59,12 +59,12 @@ namespace YooAsset.Editor
|
|||||||
protected virtual void ExecuteBuild()
|
protected virtual void ExecuteBuild()
|
||||||
{
|
{
|
||||||
var fileNameStyle = AssetBundleBuilderSetting.GetPackageFileNameStyle(PackageName, PipelineName);
|
var fileNameStyle = AssetBundleBuilderSetting.GetPackageFileNameStyle(PackageName, PipelineName);
|
||||||
var buildinFileCopyOption = AssetBundleBuilderSetting.GetPackageBuildinFileCopyOption(PackageName, PipelineName);
|
var builtinFileCopyOption = AssetBundleBuilderSetting.GetPackageBuiltinFileCopyOption(PackageName, PipelineName);
|
||||||
var buildinFileCopyParams = AssetBundleBuilderSetting.GetPackageBuildinFileCopyParams(PackageName, PipelineName);
|
var builtinFileCopyParams = AssetBundleBuilderSetting.GetPackageBuiltinFileCopyParams(PackageName, PipelineName);
|
||||||
|
|
||||||
EditorSimulateBuildParameters buildParameters = new EditorSimulateBuildParameters();
|
EditorSimulateBuildParameters buildParameters = new EditorSimulateBuildParameters();
|
||||||
buildParameters.BuildOutputRoot = AssetBundleBuilderHelper.GetDefaultBuildOutputRoot();
|
buildParameters.BuildOutputRoot = AssetBundleBuilderHelper.GetDefaultBuildOutputRoot();
|
||||||
buildParameters.BuildinFileRoot = AssetBundleBuilderHelper.GetStreamingAssetsRoot();
|
buildParameters.BuiltinFileRoot = AssetBundleBuilderHelper.GetStreamingAssetsRoot();
|
||||||
buildParameters.BuildPipeline = PipelineName.ToString();
|
buildParameters.BuildPipeline = PipelineName.ToString();
|
||||||
buildParameters.BuildBundleType = (int)EBuildBundleType.VirtualBundle;
|
buildParameters.BuildBundleType = (int)EBuildBundleType.VirtualBundle;
|
||||||
buildParameters.BuildTarget = BuildTarget;
|
buildParameters.BuildTarget = BuildTarget;
|
||||||
@@ -72,8 +72,8 @@ namespace YooAsset.Editor
|
|||||||
buildParameters.PackageVersion = _buildVersionField.value;
|
buildParameters.PackageVersion = _buildVersionField.value;
|
||||||
buildParameters.VerifyBuildingResult = true;
|
buildParameters.VerifyBuildingResult = true;
|
||||||
buildParameters.FileNameStyle = fileNameStyle;
|
buildParameters.FileNameStyle = fileNameStyle;
|
||||||
buildParameters.BuildinFileCopyOption = buildinFileCopyOption;
|
buildParameters.BuiltinFileCopyOption = builtinFileCopyOption;
|
||||||
buildParameters.BuildinFileCopyParams = buildinFileCopyParams;
|
buildParameters.BuiltinFileCopyParams = builtinFileCopyParams;
|
||||||
|
|
||||||
EditorSimulateBuildPipeline pipeline = new EditorSimulateBuildPipeline();
|
EditorSimulateBuildPipeline pipeline = new EditorSimulateBuildPipeline();
|
||||||
var buildResult = pipeline.Run(buildParameters, true);
|
var buildResult = pipeline.Run(buildParameters, true);
|
||||||
|
|||||||
@@ -20,8 +20,8 @@ namespace YooAsset.Editor
|
|||||||
protected PopupField<Type> _manifestProcessServicesField;
|
protected PopupField<Type> _manifestProcessServicesField;
|
||||||
protected PopupField<Type> _manifestRestoreServicesField;
|
protected PopupField<Type> _manifestRestoreServicesField;
|
||||||
protected EnumField _outputNameStyleField;
|
protected EnumField _outputNameStyleField;
|
||||||
protected EnumField _copyBuildinFileOptionField;
|
protected EnumField _copyBuiltinFileOptionField;
|
||||||
protected TextField _copyBuildinFileTagsField;
|
protected TextField _copyBuiltinFileTagsField;
|
||||||
protected Toggle _clearBuildCacheToggle;
|
protected Toggle _clearBuildCacheToggle;
|
||||||
protected Toggle _useAssetDependencyDBToggle;
|
protected Toggle _useAssetDependencyDBToggle;
|
||||||
|
|
||||||
@@ -55,13 +55,13 @@ namespace YooAsset.Editor
|
|||||||
SetOutputNameStyleField(_outputNameStyleField);
|
SetOutputNameStyleField(_outputNameStyleField);
|
||||||
|
|
||||||
// 首包文件拷贝参数
|
// 首包文件拷贝参数
|
||||||
_copyBuildinFileTagsField = Root.Q<TextField>("CopyBuildinFileParam");
|
_copyBuiltinFileTagsField = Root.Q<TextField>("CopyBuiltinFileParam");
|
||||||
SetCopyBuildinFileTagsField(_copyBuildinFileTagsField);
|
SetCopyBuiltinFileTagsField(_copyBuiltinFileTagsField);
|
||||||
SetCopyBuildinFileTagsVisible(_copyBuildinFileTagsField);
|
SetCopyBuiltinFileTagsVisible(_copyBuiltinFileTagsField);
|
||||||
|
|
||||||
// 首包文件拷贝选项
|
// 首包文件拷贝选项
|
||||||
_copyBuildinFileOptionField = Root.Q<EnumField>("CopyBuildinFileOption");
|
_copyBuiltinFileOptionField = Root.Q<EnumField>("CopyBuiltinFileOption");
|
||||||
SetCopyBuildinFileOptionField(_copyBuildinFileOptionField, _copyBuildinFileTagsField);
|
SetCopyBuiltinFileOptionField(_copyBuiltinFileOptionField, _copyBuiltinFileTagsField);
|
||||||
|
|
||||||
// 清理构建缓存
|
// 清理构建缓存
|
||||||
_clearBuildCacheToggle = Root.Q<Toggle>("ClearBuildCache");
|
_clearBuildCacheToggle = Root.Q<Toggle>("ClearBuildCache");
|
||||||
@@ -94,14 +94,14 @@ namespace YooAsset.Editor
|
|||||||
protected virtual void ExecuteBuild()
|
protected virtual void ExecuteBuild()
|
||||||
{
|
{
|
||||||
var fileNameStyle = AssetBundleBuilderSetting.GetPackageFileNameStyle(PackageName, PipelineName);
|
var fileNameStyle = AssetBundleBuilderSetting.GetPackageFileNameStyle(PackageName, PipelineName);
|
||||||
var buildinFileCopyOption = AssetBundleBuilderSetting.GetPackageBuildinFileCopyOption(PackageName, PipelineName);
|
var builtinFileCopyOption = AssetBundleBuilderSetting.GetPackageBuiltinFileCopyOption(PackageName, PipelineName);
|
||||||
var buildinFileCopyParams = AssetBundleBuilderSetting.GetPackageBuildinFileCopyParams(PackageName, PipelineName);
|
var builtinFileCopyParams = AssetBundleBuilderSetting.GetPackageBuiltinFileCopyParams(PackageName, PipelineName);
|
||||||
var clearBuildCache = AssetBundleBuilderSetting.GetPackageClearBuildCache(PackageName, PipelineName);
|
var clearBuildCache = AssetBundleBuilderSetting.GetPackageClearBuildCache(PackageName, PipelineName);
|
||||||
var useAssetDependencyDB = AssetBundleBuilderSetting.GetPackageUseAssetDependencyDB(PackageName, PipelineName);
|
var useAssetDependencyDB = AssetBundleBuilderSetting.GetPackageUseAssetDependencyDB(PackageName, PipelineName);
|
||||||
|
|
||||||
RawFileBuildParameters buildParameters = new RawFileBuildParameters();
|
RawFileBuildParameters buildParameters = new RawFileBuildParameters();
|
||||||
buildParameters.BuildOutputRoot = AssetBundleBuilderHelper.GetDefaultBuildOutputRoot();
|
buildParameters.BuildOutputRoot = AssetBundleBuilderHelper.GetDefaultBuildOutputRoot();
|
||||||
buildParameters.BuildinFileRoot = AssetBundleBuilderHelper.GetStreamingAssetsRoot();
|
buildParameters.BuiltinFileRoot = AssetBundleBuilderHelper.GetStreamingAssetsRoot();
|
||||||
buildParameters.BuildPipeline = PipelineName.ToString();
|
buildParameters.BuildPipeline = PipelineName.ToString();
|
||||||
buildParameters.BuildBundleType = (int)EBuildBundleType.RawBundle;
|
buildParameters.BuildBundleType = (int)EBuildBundleType.RawBundle;
|
||||||
buildParameters.BuildTarget = BuildTarget;
|
buildParameters.BuildTarget = BuildTarget;
|
||||||
@@ -109,8 +109,8 @@ namespace YooAsset.Editor
|
|||||||
buildParameters.PackageVersion = _buildVersionField.value;
|
buildParameters.PackageVersion = _buildVersionField.value;
|
||||||
buildParameters.VerifyBuildingResult = true;
|
buildParameters.VerifyBuildingResult = true;
|
||||||
buildParameters.FileNameStyle = fileNameStyle;
|
buildParameters.FileNameStyle = fileNameStyle;
|
||||||
buildParameters.BuildinFileCopyOption = buildinFileCopyOption;
|
buildParameters.BuiltinFileCopyOption = builtinFileCopyOption;
|
||||||
buildParameters.BuildinFileCopyParams = buildinFileCopyParams;
|
buildParameters.BuiltinFileCopyParams = builtinFileCopyParams;
|
||||||
buildParameters.ClearBuildCacheFiles = clearBuildCache;
|
buildParameters.ClearBuildCacheFiles = clearBuildCache;
|
||||||
buildParameters.UseAssetDependencyDB = useAssetDependencyDB;
|
buildParameters.UseAssetDependencyDB = useAssetDependencyDB;
|
||||||
buildParameters.EncryptionServices = CreateEncryptionServicesInstance();
|
buildParameters.EncryptionServices = CreateEncryptionServicesInstance();
|
||||||
|
|||||||
@@ -6,8 +6,8 @@
|
|||||||
<ui:Toggle label="Use Asset Depend DB" name="UseAssetDependency" />
|
<ui:Toggle label="Use Asset Depend DB" name="UseAssetDependency" />
|
||||||
<ui:VisualElement name="PopupContainer" style="flex-grow: 1;" />
|
<ui:VisualElement name="PopupContainer" style="flex-grow: 1;" />
|
||||||
<uie:EnumField label="File Name Style" value="Center" name="FileNameStyle" />
|
<uie:EnumField label="File Name Style" value="Center" name="FileNameStyle" />
|
||||||
<uie:EnumField label="Copy Buildin File Option" value="Center" name="CopyBuildinFileOption" />
|
<uie:EnumField label="Copy Builtin File Option" value="Center" name="CopyBuiltinFileOption" />
|
||||||
<ui:TextField picking-mode="Ignore" label="Copy Buildin File Param" name="CopyBuildinFileParam" />
|
<ui:TextField picking-mode="Ignore" label="Copy Builtin File Param" name="CopyBuiltinFileParam" />
|
||||||
<ui:VisualElement name="ExtensionContainer" />
|
<ui:VisualElement name="ExtensionContainer" />
|
||||||
<ui:Button text="Click Build" display-tooltip-when-elided="true" name="Build" style="height: 50px; background-color: rgb(40, 106, 42); margin-top: 10px;" />
|
<ui:Button text="Click Build" display-tooltip-when-elided="true" name="Build" style="height: 50px; background-color: rgb(40, 106, 42); margin-top: 10px;" />
|
||||||
</ui:VisualElement>
|
</ui:VisualElement>
|
||||||
|
|||||||
@@ -21,8 +21,8 @@ namespace YooAsset.Editor
|
|||||||
protected PopupField<Type> _manifestRestoreServicesField;
|
protected PopupField<Type> _manifestRestoreServicesField;
|
||||||
protected EnumField _compressionField;
|
protected EnumField _compressionField;
|
||||||
protected EnumField _outputNameStyleField;
|
protected EnumField _outputNameStyleField;
|
||||||
protected EnumField _copyBuildinFileOptionField;
|
protected EnumField _copyBuiltinFileOptionField;
|
||||||
protected TextField _copyBuildinFileTagsField;
|
protected TextField _copyBuiltinFileTagsField;
|
||||||
protected Toggle _clearBuildCacheToggle;
|
protected Toggle _clearBuildCacheToggle;
|
||||||
protected Toggle _useAssetDependencyDBToggle;
|
protected Toggle _useAssetDependencyDBToggle;
|
||||||
|
|
||||||
@@ -60,13 +60,13 @@ namespace YooAsset.Editor
|
|||||||
SetOutputNameStyleField(_outputNameStyleField);
|
SetOutputNameStyleField(_outputNameStyleField);
|
||||||
|
|
||||||
// 首包文件拷贝参数
|
// 首包文件拷贝参数
|
||||||
_copyBuildinFileTagsField = Root.Q<TextField>("CopyBuildinFileParam");
|
_copyBuiltinFileTagsField = Root.Q<TextField>("CopyBuiltinFileParam");
|
||||||
SetCopyBuildinFileTagsField(_copyBuildinFileTagsField);
|
SetCopyBuiltinFileTagsField(_copyBuiltinFileTagsField);
|
||||||
SetCopyBuildinFileTagsVisible(_copyBuildinFileTagsField);
|
SetCopyBuiltinFileTagsVisible(_copyBuiltinFileTagsField);
|
||||||
|
|
||||||
// 首包文件拷贝选项
|
// 首包文件拷贝选项
|
||||||
_copyBuildinFileOptionField = Root.Q<EnumField>("CopyBuildinFileOption");
|
_copyBuiltinFileOptionField = Root.Q<EnumField>("CopyBuiltinFileOption");
|
||||||
SetCopyBuildinFileOptionField(_copyBuildinFileOptionField, _copyBuildinFileTagsField);
|
SetCopyBuiltinFileOptionField(_copyBuiltinFileOptionField, _copyBuiltinFileTagsField);
|
||||||
|
|
||||||
// 清理构建缓存
|
// 清理构建缓存
|
||||||
_clearBuildCacheToggle = Root.Q<Toggle>("ClearBuildCache");
|
_clearBuildCacheToggle = Root.Q<Toggle>("ClearBuildCache");
|
||||||
@@ -99,15 +99,15 @@ namespace YooAsset.Editor
|
|||||||
protected virtual void ExecuteBuild()
|
protected virtual void ExecuteBuild()
|
||||||
{
|
{
|
||||||
var fileNameStyle = AssetBundleBuilderSetting.GetPackageFileNameStyle(PackageName, PipelineName);
|
var fileNameStyle = AssetBundleBuilderSetting.GetPackageFileNameStyle(PackageName, PipelineName);
|
||||||
var buildinFileCopyOption = AssetBundleBuilderSetting.GetPackageBuildinFileCopyOption(PackageName, PipelineName);
|
var builtinFileCopyOption = AssetBundleBuilderSetting.GetPackageBuiltinFileCopyOption(PackageName, PipelineName);
|
||||||
var buildinFileCopyParams = AssetBundleBuilderSetting.GetPackageBuildinFileCopyParams(PackageName, PipelineName);
|
var builtinFileCopyParams = AssetBundleBuilderSetting.GetPackageBuiltinFileCopyParams(PackageName, PipelineName);
|
||||||
var compressOption = AssetBundleBuilderSetting.GetPackageCompressOption(PackageName, PipelineName);
|
var compressOption = AssetBundleBuilderSetting.GetPackageCompressOption(PackageName, PipelineName);
|
||||||
var clearBuildCache = AssetBundleBuilderSetting.GetPackageClearBuildCache(PackageName, PipelineName);
|
var clearBuildCache = AssetBundleBuilderSetting.GetPackageClearBuildCache(PackageName, PipelineName);
|
||||||
var useAssetDependencyDB = AssetBundleBuilderSetting.GetPackageUseAssetDependencyDB(PackageName, PipelineName);
|
var useAssetDependencyDB = AssetBundleBuilderSetting.GetPackageUseAssetDependencyDB(PackageName, PipelineName);
|
||||||
|
|
||||||
ScriptableBuildParameters buildParameters = new ScriptableBuildParameters();
|
ScriptableBuildParameters buildParameters = new ScriptableBuildParameters();
|
||||||
buildParameters.BuildOutputRoot = AssetBundleBuilderHelper.GetDefaultBuildOutputRoot();
|
buildParameters.BuildOutputRoot = AssetBundleBuilderHelper.GetDefaultBuildOutputRoot();
|
||||||
buildParameters.BuildinFileRoot = AssetBundleBuilderHelper.GetStreamingAssetsRoot();
|
buildParameters.BuiltinFileRoot = AssetBundleBuilderHelper.GetStreamingAssetsRoot();
|
||||||
buildParameters.BuildPipeline = PipelineName.ToString();
|
buildParameters.BuildPipeline = PipelineName.ToString();
|
||||||
buildParameters.BuildBundleType = (int)EBuildBundleType.AssetBundle;
|
buildParameters.BuildBundleType = (int)EBuildBundleType.AssetBundle;
|
||||||
buildParameters.BuildTarget = BuildTarget;
|
buildParameters.BuildTarget = BuildTarget;
|
||||||
@@ -116,8 +116,8 @@ namespace YooAsset.Editor
|
|||||||
buildParameters.EnableSharePackRule = true;
|
buildParameters.EnableSharePackRule = true;
|
||||||
buildParameters.VerifyBuildingResult = true;
|
buildParameters.VerifyBuildingResult = true;
|
||||||
buildParameters.FileNameStyle = fileNameStyle;
|
buildParameters.FileNameStyle = fileNameStyle;
|
||||||
buildParameters.BuildinFileCopyOption = buildinFileCopyOption;
|
buildParameters.BuiltinFileCopyOption = builtinFileCopyOption;
|
||||||
buildParameters.BuildinFileCopyParams = buildinFileCopyParams;
|
buildParameters.BuiltinFileCopyParams = builtinFileCopyParams;
|
||||||
buildParameters.CompressOption = compressOption;
|
buildParameters.CompressOption = compressOption;
|
||||||
buildParameters.ClearBuildCacheFiles = clearBuildCache;
|
buildParameters.ClearBuildCacheFiles = clearBuildCache;
|
||||||
buildParameters.UseAssetDependencyDB = useAssetDependencyDB;
|
buildParameters.UseAssetDependencyDB = useAssetDependencyDB;
|
||||||
|
|||||||
@@ -7,8 +7,8 @@
|
|||||||
<ui:VisualElement name="PopupContainer" style="flex-grow: 1;" />
|
<ui:VisualElement name="PopupContainer" style="flex-grow: 1;" />
|
||||||
<uie:EnumField label="Compression" value="Center" name="Compression" />
|
<uie:EnumField label="Compression" value="Center" name="Compression" />
|
||||||
<uie:EnumField label="File Name Style" value="Center" name="FileNameStyle" />
|
<uie:EnumField label="File Name Style" value="Center" name="FileNameStyle" />
|
||||||
<uie:EnumField label="Copy Buildin File Option" value="Center" name="CopyBuildinFileOption" />
|
<uie:EnumField label="Copy Builtin File Option" value="Center" name="CopyBuiltinFileOption" />
|
||||||
<ui:TextField picking-mode="Ignore" label="Copy Buildin File Param" name="CopyBuildinFileParam" />
|
<ui:TextField picking-mode="Ignore" label="Copy Builtin File Param" name="CopyBuiltinFileParam" />
|
||||||
<ui:VisualElement name="ExtensionContainer" />
|
<ui:VisualElement name="ExtensionContainer" />
|
||||||
<ui:Button text="Click Build" display-tooltip-when-elided="true" name="Build" style="height: 50px; background-color: rgb(40, 106, 42); margin-top: 10px;" />
|
<ui:Button text="Click Build" display-tooltip-when-elided="true" name="Build" style="height: 50px; background-color: rgb(40, 106, 42); margin-top: 10px;" />
|
||||||
</ui:VisualElement>
|
</ui:VisualElement>
|
||||||
|
|||||||
@@ -53,10 +53,10 @@ namespace YooAsset
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 创建内置清单实例
|
// 创建内置清单实例
|
||||||
var buildinFileCatalog = new DefaultBuildinFileCatalog();
|
var builtinFileCatalog = new DefaultBuiltinFileCatalog();
|
||||||
buildinFileCatalog.FileVersion = CatalogDefine.FileVersion;
|
builtinFileCatalog.FileVersion = CatalogDefine.FileVersion;
|
||||||
buildinFileCatalog.PackageName = packageName;
|
builtinFileCatalog.PackageName = packageName;
|
||||||
buildinFileCatalog.PackageVersion = packageVersion;
|
builtinFileCatalog.PackageVersion = packageVersion;
|
||||||
|
|
||||||
// 创建白名单查询集合
|
// 创建白名单查询集合
|
||||||
HashSet<string> whiteFileList = new HashSet<string>
|
HashSet<string> whiteFileList = new HashSet<string>
|
||||||
@@ -68,8 +68,8 @@ namespace YooAsset
|
|||||||
$"{packageName}_{packageVersion}.hash",
|
$"{packageName}_{packageVersion}.hash",
|
||||||
$"{packageName}_{packageVersion}.json",
|
$"{packageName}_{packageVersion}.json",
|
||||||
$"{packageName}_{packageVersion}.report",
|
$"{packageName}_{packageVersion}.report",
|
||||||
DefaultBuildinFileSystemDefine.BuildinCatalogJsonFileName,
|
DefaultBuiltinFileSystemDefine.BuiltinCatalogJsonFileName,
|
||||||
DefaultBuildinFileSystemDefine.BuildinCatalogBinaryFileName
|
DefaultBuiltinFileSystemDefine.BuiltinCatalogBinaryFileName
|
||||||
};
|
};
|
||||||
|
|
||||||
// 记录所有内置资源文件
|
// 记录所有内置资源文件
|
||||||
@@ -86,10 +86,10 @@ namespace YooAsset
|
|||||||
string fileName = fileInfo.Name;
|
string fileName = fileInfo.Name;
|
||||||
if (fileMapping.TryGetValue(fileName, out string bundleGUID))
|
if (fileMapping.TryGetValue(fileName, out string bundleGUID))
|
||||||
{
|
{
|
||||||
var wrapper = new DefaultBuildinFileCatalog.FileWrapper();
|
var wrapper = new DefaultBuiltinFileCatalog.FileWrapper();
|
||||||
wrapper.BundleGUID = bundleGUID;
|
wrapper.BundleGUID = bundleGUID;
|
||||||
wrapper.FileName = fileName;
|
wrapper.FileName = fileName;
|
||||||
buildinFileCatalog.Wrappers.Add(wrapper);
|
builtinFileCatalog.Wrappers.Add(wrapper);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -98,16 +98,16 @@ namespace YooAsset
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 创建输出文件
|
// 创建输出文件
|
||||||
string jsonFilePath = $"{packageDirectory}/{DefaultBuildinFileSystemDefine.BuildinCatalogJsonFileName}";
|
string jsonFilePath = $"{packageDirectory}/{DefaultBuiltinFileSystemDefine.BuiltinCatalogJsonFileName}";
|
||||||
if (File.Exists(jsonFilePath))
|
if (File.Exists(jsonFilePath))
|
||||||
File.Delete(jsonFilePath);
|
File.Delete(jsonFilePath);
|
||||||
SerializeToJson(jsonFilePath, buildinFileCatalog);
|
SerializeToJson(jsonFilePath, builtinFileCatalog);
|
||||||
|
|
||||||
// 创建输出文件
|
// 创建输出文件
|
||||||
string binaryFilePath = $"{packageDirectory}/{DefaultBuildinFileSystemDefine.BuildinCatalogBinaryFileName}";
|
string binaryFilePath = $"{packageDirectory}/{DefaultBuiltinFileSystemDefine.BuiltinCatalogBinaryFileName}";
|
||||||
if (File.Exists(binaryFilePath))
|
if (File.Exists(binaryFilePath))
|
||||||
File.Delete(binaryFilePath);
|
File.Delete(binaryFilePath);
|
||||||
SerializeToBinary(binaryFilePath, buildinFileCatalog);
|
SerializeToBinary(binaryFilePath, builtinFileCatalog);
|
||||||
|
|
||||||
UnityEditor.AssetDatabase.Refresh();
|
UnityEditor.AssetDatabase.Refresh();
|
||||||
Debug.Log($"Succeed to save catalog file : {binaryFilePath}");
|
Debug.Log($"Succeed to save catalog file : {binaryFilePath}");
|
||||||
@@ -118,7 +118,7 @@ namespace YooAsset
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 序列化(JSON文件)
|
/// 序列化(JSON文件)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static void SerializeToJson(string savePath, DefaultBuildinFileCatalog catalog)
|
public static void SerializeToJson(string savePath, DefaultBuiltinFileCatalog catalog)
|
||||||
{
|
{
|
||||||
string json = JsonUtility.ToJson(catalog, true);
|
string json = JsonUtility.ToJson(catalog, true);
|
||||||
FileUtility.WriteAllText(savePath, json);
|
FileUtility.WriteAllText(savePath, json);
|
||||||
@@ -127,15 +127,15 @@ namespace YooAsset
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 反序列化(JSON文件)
|
/// 反序列化(JSON文件)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static DefaultBuildinFileCatalog DeserializeFromJson(string jsonContent)
|
public static DefaultBuiltinFileCatalog DeserializeFromJson(string jsonContent)
|
||||||
{
|
{
|
||||||
return JsonUtility.FromJson<DefaultBuildinFileCatalog>(jsonContent);
|
return JsonUtility.FromJson<DefaultBuiltinFileCatalog>(jsonContent);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 序列化(二进制文件)
|
/// 序列化(二进制文件)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static void SerializeToBinary(string savePath, DefaultBuildinFileCatalog catalog)
|
public static void SerializeToBinary(string savePath, DefaultBuiltinFileCatalog catalog)
|
||||||
{
|
{
|
||||||
using (FileStream fs = new FileStream(savePath, FileMode.Create))
|
using (FileStream fs = new FileStream(savePath, FileMode.Create))
|
||||||
{
|
{
|
||||||
@@ -170,7 +170,7 @@ namespace YooAsset
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 反序列化(二进制文件)
|
/// 反序列化(二进制文件)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static DefaultBuildinFileCatalog DeserializeFromBinary(byte[] binaryData)
|
public static DefaultBuiltinFileCatalog DeserializeFromBinary(byte[] binaryData)
|
||||||
{
|
{
|
||||||
// 创建缓存器
|
// 创建缓存器
|
||||||
BufferReader buffer = new BufferReader(binaryData);
|
BufferReader buffer = new BufferReader(binaryData);
|
||||||
@@ -185,7 +185,7 @@ namespace YooAsset
|
|||||||
if (fileVersion != CatalogDefine.FileVersion)
|
if (fileVersion != CatalogDefine.FileVersion)
|
||||||
throw new Exception($"The catalog file version are not compatible : {fileVersion} != {CatalogDefine.FileVersion}");
|
throw new Exception($"The catalog file version are not compatible : {fileVersion} != {CatalogDefine.FileVersion}");
|
||||||
|
|
||||||
DefaultBuildinFileCatalog catalog = new DefaultBuildinFileCatalog();
|
DefaultBuiltinFileCatalog catalog = new DefaultBuiltinFileCatalog();
|
||||||
{
|
{
|
||||||
// 读取文件头信息
|
// 读取文件头信息
|
||||||
catalog.FileVersion = fileVersion;
|
catalog.FileVersion = fileVersion;
|
||||||
@@ -194,10 +194,10 @@ namespace YooAsset
|
|||||||
|
|
||||||
// 读取资源包列表
|
// 读取资源包列表
|
||||||
int fileCount = buffer.ReadInt32();
|
int fileCount = buffer.ReadInt32();
|
||||||
catalog.Wrappers = new List<DefaultBuildinFileCatalog.FileWrapper>(fileCount);
|
catalog.Wrappers = new List<DefaultBuiltinFileCatalog.FileWrapper>(fileCount);
|
||||||
for (int i = 0; i < fileCount; i++)
|
for (int i = 0; i < fileCount; i++)
|
||||||
{
|
{
|
||||||
var fileWrapper = new DefaultBuildinFileCatalog.FileWrapper();
|
var fileWrapper = new DefaultBuiltinFileCatalog.FileWrapper();
|
||||||
fileWrapper.BundleGUID = buffer.ReadUTF8();
|
fileWrapper.BundleGUID = buffer.ReadUTF8();
|
||||||
fileWrapper.FileName = buffer.ReadUTF8();
|
fileWrapper.FileName = buffer.ReadUTF8();
|
||||||
catalog.Wrappers.Add(fileWrapper);
|
catalog.Wrappers.Add(fileWrapper);
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ namespace YooAsset
|
|||||||
/// 内置资源清单目录
|
/// 内置资源清单目录
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Serializable]
|
[Serializable]
|
||||||
internal class DefaultBuildinFileCatalog
|
internal class DefaultBuiltinFileCatalog
|
||||||
{
|
{
|
||||||
[Serializable]
|
[Serializable]
|
||||||
public class FileWrapper
|
public class FileWrapper
|
||||||
@@ -8,7 +8,7 @@ namespace YooAsset
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 内置文件系统
|
/// 内置文件系统
|
||||||
/// </summary>
|
/// </summary>
|
||||||
internal class DefaultBuildinFileSystem : IFileSystem
|
internal class DefaultBuiltinFileSystem : IFileSystem
|
||||||
{
|
{
|
||||||
public class FileWrapper
|
public class FileWrapper
|
||||||
{
|
{
|
||||||
@@ -21,7 +21,7 @@ namespace YooAsset
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected readonly Dictionary<string, FileWrapper> _wrappers = new Dictionary<string, FileWrapper>(10000);
|
protected readonly Dictionary<string, FileWrapper> _wrappers = new Dictionary<string, FileWrapper>(10000);
|
||||||
protected readonly Dictionary<string, string> _buildinFilePathMapping = new Dictionary<string, string>(10000);
|
protected readonly Dictionary<string, string> _builtinFilePathMapping = new Dictionary<string, string>(10000);
|
||||||
protected IFileSystem _unpackFileSystem;
|
protected IFileSystem _unpackFileSystem;
|
||||||
protected string _packageRoot;
|
protected string _packageRoot;
|
||||||
|
|
||||||
@@ -81,13 +81,13 @@ namespace YooAsset
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 自定义参数:拷贝内置清单
|
/// 自定义参数:拷贝内置清单
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool CopyBuildinPackageManifest { private set; get; } = false;
|
public bool CopyBuiltinPackageManifest { private set; get; } = false;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 自定义参数:拷贝内置清单的目标目录
|
/// 自定义参数:拷贝内置清单的目标目录
|
||||||
/// 注意:该参数为空的时候,会获取默认的沙盒目录!
|
/// 注意:该参数为空的时候,会获取默认的沙盒目录!
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string CopyBuildinPackageManifestDestRoot { private set; get; }
|
public string CopyBuiltinPackageManifestDestRoot { private set; get; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 自定义参数:解密服务接口的实例类
|
/// 自定义参数:解密服务接口的实例类
|
||||||
@@ -106,7 +106,7 @@ namespace YooAsset
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
public DefaultBuildinFileSystem()
|
public DefaultBuiltinFileSystem()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
public virtual FSInitializeFileSystemOperation InitializeFileSystemAsync()
|
public virtual FSInitializeFileSystemOperation InitializeFileSystemAsync()
|
||||||
@@ -131,7 +131,7 @@ namespace YooAsset
|
|||||||
public virtual FSDownloadFileOperation DownloadFileAsync(PackageBundle bundle, DownloadFileOptions options)
|
public virtual FSDownloadFileOperation DownloadFileAsync(PackageBundle bundle, DownloadFileOptions options)
|
||||||
{
|
{
|
||||||
// 注意:业务层的解压器会依赖该方法
|
// 注意:业务层的解压器会依赖该方法
|
||||||
options.ImportFilePath = GetBuildinFileLoadPath(bundle);
|
options.ImportFilePath = GetBuiltinFileLoadPath(bundle);
|
||||||
return _unpackFileSystem.DownloadFileAsync(bundle, options);
|
return _unpackFileSystem.DownloadFileAsync(bundle, options);
|
||||||
}
|
}
|
||||||
public virtual FSLoadBundleOperation LoadBundleFile(PackageBundle bundle)
|
public virtual FSLoadBundleOperation LoadBundleFile(PackageBundle bundle)
|
||||||
@@ -153,7 +153,7 @@ namespace YooAsset
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
string error = $"{nameof(DefaultBuildinFileSystem)} not support load bundle type : {bundle.BundleType}";
|
string error = $"{nameof(DefaultBuiltinFileSystem)} not support load bundle type : {bundle.BundleType}";
|
||||||
var operation = new FSLoadBundleCompleteOperation(error);
|
var operation = new FSLoadBundleCompleteOperation(error);
|
||||||
return operation;
|
return operation;
|
||||||
}
|
}
|
||||||
@@ -184,11 +184,11 @@ namespace YooAsset
|
|||||||
}
|
}
|
||||||
else if (name == FileSystemParametersDefine.COPY_BUILDIN_PACKAGE_MANIFEST)
|
else if (name == FileSystemParametersDefine.COPY_BUILDIN_PACKAGE_MANIFEST)
|
||||||
{
|
{
|
||||||
CopyBuildinPackageManifest = Convert.ToBoolean(value);
|
CopyBuiltinPackageManifest = Convert.ToBoolean(value);
|
||||||
}
|
}
|
||||||
else if (name == FileSystemParametersDefine.COPY_BUILDIN_PACKAGE_MANIFEST_DEST_ROOT)
|
else if (name == FileSystemParametersDefine.COPY_BUILDIN_PACKAGE_MANIFEST_DEST_ROOT)
|
||||||
{
|
{
|
||||||
CopyBuildinPackageManifestDestRoot = (string)value;
|
CopyBuiltinPackageManifestDestRoot = (string)value;
|
||||||
}
|
}
|
||||||
else if (name == FileSystemParametersDefine.DECRYPTION_SERVICES)
|
else if (name == FileSystemParametersDefine.DECRYPTION_SERVICES)
|
||||||
{
|
{
|
||||||
@@ -212,7 +212,7 @@ namespace YooAsset
|
|||||||
PackageName = packageName;
|
PackageName = packageName;
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(packageRoot))
|
if (string.IsNullOrEmpty(packageRoot))
|
||||||
_packageRoot = GetDefaultBuildinPackageRoot(packageName);
|
_packageRoot = GetDefaultBuiltinPackageRoot(packageName);
|
||||||
else
|
else
|
||||||
_packageRoot = packageRoot;
|
_packageRoot = packageRoot;
|
||||||
|
|
||||||
@@ -269,7 +269,7 @@ namespace YooAsset
|
|||||||
if (IsUnpackBundleFile(bundle))
|
if (IsUnpackBundleFile(bundle))
|
||||||
return _unpackFileSystem.GetBundleFilePath(bundle);
|
return _unpackFileSystem.GetBundleFilePath(bundle);
|
||||||
|
|
||||||
return GetBuildinFileLoadPath(bundle);
|
return GetBuiltinFileLoadPath(bundle);
|
||||||
}
|
}
|
||||||
public virtual byte[] ReadBundleFileData(PackageBundle bundle)
|
public virtual byte[] ReadBundleFileData(PackageBundle bundle)
|
||||||
{
|
{
|
||||||
@@ -281,7 +281,7 @@ namespace YooAsset
|
|||||||
|
|
||||||
#if UNITY_ANDROID
|
#if UNITY_ANDROID
|
||||||
//TODO : 安卓平台内置文件属于APK压缩包内的文件。
|
//TODO : 安卓平台内置文件属于APK压缩包内的文件。
|
||||||
YooLogger.Error($"Android platform not support read buildin bundle file data !");
|
YooLogger.Error($"Android platform not support read builtin bundle file data !");
|
||||||
return null;
|
return null;
|
||||||
#else
|
#else
|
||||||
if (bundle.Encrypted)
|
if (bundle.Encrypted)
|
||||||
@@ -292,7 +292,7 @@ namespace YooAsset
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
string filePath = GetBuildinFileLoadPath(bundle);
|
string filePath = GetBuiltinFileLoadPath(bundle);
|
||||||
var fileInfo = new DecryptFileInfo()
|
var fileInfo = new DecryptFileInfo()
|
||||||
{
|
{
|
||||||
BundleName = bundle.BundleName,
|
BundleName = bundle.BundleName,
|
||||||
@@ -303,7 +303,7 @@ namespace YooAsset
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
string filePath = GetBuildinFileLoadPath(bundle);
|
string filePath = GetBuiltinFileLoadPath(bundle);
|
||||||
return FileUtility.ReadAllBytes(filePath);
|
return FileUtility.ReadAllBytes(filePath);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -318,7 +318,7 @@ namespace YooAsset
|
|||||||
|
|
||||||
#if UNITY_ANDROID
|
#if UNITY_ANDROID
|
||||||
//TODO : 安卓平台内置文件属于APK压缩包内的文件。
|
//TODO : 安卓平台内置文件属于APK压缩包内的文件。
|
||||||
YooLogger.Error($"Android platform not support read buildin bundle file text !");
|
YooLogger.Error($"Android platform not support read builtin bundle file text !");
|
||||||
return null;
|
return null;
|
||||||
#else
|
#else
|
||||||
if (bundle.Encrypted)
|
if (bundle.Encrypted)
|
||||||
@@ -329,7 +329,7 @@ namespace YooAsset
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
string filePath = GetBuildinFileLoadPath(bundle);
|
string filePath = GetBuiltinFileLoadPath(bundle);
|
||||||
var fileInfo = new DecryptFileInfo()
|
var fileInfo = new DecryptFileInfo()
|
||||||
{
|
{
|
||||||
BundleName = bundle.BundleName,
|
BundleName = bundle.BundleName,
|
||||||
@@ -340,7 +340,7 @@ namespace YooAsset
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
string filePath = GetBuildinFileLoadPath(bundle);
|
string filePath = GetBuiltinFileLoadPath(bundle);
|
||||||
return FileUtility.ReadAllText(filePath);
|
return FileUtility.ReadAllText(filePath);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -368,38 +368,38 @@ namespace YooAsset
|
|||||||
}
|
}
|
||||||
|
|
||||||
#region 内部方法
|
#region 内部方法
|
||||||
protected string GetDefaultBuildinPackageRoot(string packageName)
|
protected string GetDefaultBuiltinPackageRoot(string packageName)
|
||||||
{
|
{
|
||||||
string rootDirectory = YooAssetSettingsData.GetYooDefaultBuildinRoot();
|
string rootDirectory = YooAssetSettingsData.GetYooDefaultBuiltinRoot();
|
||||||
return PathUtility.Combine(rootDirectory, packageName);
|
return PathUtility.Combine(rootDirectory, packageName);
|
||||||
}
|
}
|
||||||
public string GetBuildinFileLoadPath(PackageBundle bundle)
|
public string GetBuiltinFileLoadPath(PackageBundle bundle)
|
||||||
{
|
{
|
||||||
if (_buildinFilePathMapping.TryGetValue(bundle.BundleGUID, out string filePath) == false)
|
if (_builtinFilePathMapping.TryGetValue(bundle.BundleGUID, out string filePath) == false)
|
||||||
{
|
{
|
||||||
filePath = PathUtility.Combine(_packageRoot, bundle.FileName);
|
filePath = PathUtility.Combine(_packageRoot, bundle.FileName);
|
||||||
_buildinFilePathMapping.Add(bundle.BundleGUID, filePath);
|
_builtinFilePathMapping.Add(bundle.BundleGUID, filePath);
|
||||||
}
|
}
|
||||||
return filePath;
|
return filePath;
|
||||||
}
|
}
|
||||||
public string GetBuildinPackageVersionFilePath()
|
public string GetBuiltinPackageVersionFilePath()
|
||||||
{
|
{
|
||||||
string fileName = YooAssetSettingsData.GetPackageVersionFileName(PackageName);
|
string fileName = YooAssetSettingsData.GetPackageVersionFileName(PackageName);
|
||||||
return PathUtility.Combine(_packageRoot, fileName);
|
return PathUtility.Combine(_packageRoot, fileName);
|
||||||
}
|
}
|
||||||
public string GetBuildinPackageHashFilePath(string packageVersion)
|
public string GetBuiltinPackageHashFilePath(string packageVersion)
|
||||||
{
|
{
|
||||||
string fileName = YooAssetSettingsData.GetPackageHashFileName(PackageName, packageVersion);
|
string fileName = YooAssetSettingsData.GetPackageHashFileName(PackageName, packageVersion);
|
||||||
return PathUtility.Combine(_packageRoot, fileName);
|
return PathUtility.Combine(_packageRoot, fileName);
|
||||||
}
|
}
|
||||||
public string GetBuildinPackageManifestFilePath(string packageVersion)
|
public string GetBuiltinPackageManifestFilePath(string packageVersion)
|
||||||
{
|
{
|
||||||
string fileName = YooAssetSettingsData.GetManifestBinaryFileName(PackageName, packageVersion);
|
string fileName = YooAssetSettingsData.GetManifestBinaryFileName(PackageName, packageVersion);
|
||||||
return PathUtility.Combine(_packageRoot, fileName);
|
return PathUtility.Combine(_packageRoot, fileName);
|
||||||
}
|
}
|
||||||
public string GetCatalogBinaryFileLoadPath()
|
public string GetCatalogBinaryFileLoadPath()
|
||||||
{
|
{
|
||||||
return PathUtility.Combine(_packageRoot, DefaultBuildinFileSystemDefine.BuildinCatalogBinaryFileName);
|
return PathUtility.Combine(_packageRoot, DefaultBuiltinFileSystemDefine.BuiltinCatalogBinaryFileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -409,7 +409,7 @@ namespace YooAsset
|
|||||||
{
|
{
|
||||||
if (_wrappers.ContainsKey(bundleGUID))
|
if (_wrappers.ContainsKey(bundleGUID))
|
||||||
{
|
{
|
||||||
YooLogger.Error($"{nameof(DefaultBuildinFileSystem)} has element : {bundleGUID}");
|
YooLogger.Error($"{nameof(DefaultBuiltinFileSystem)} has element : {bundleGUID}");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -430,7 +430,7 @@ namespace YooAsset
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public DecryptResult LoadEncryptedAssetBundle(PackageBundle bundle)
|
public DecryptResult LoadEncryptedAssetBundle(PackageBundle bundle)
|
||||||
{
|
{
|
||||||
string filePath = GetBuildinFileLoadPath(bundle);
|
string filePath = GetBuiltinFileLoadPath(bundle);
|
||||||
var fileInfo = new DecryptFileInfo()
|
var fileInfo = new DecryptFileInfo()
|
||||||
{
|
{
|
||||||
BundleName = bundle.BundleName,
|
BundleName = bundle.BundleName,
|
||||||
@@ -445,7 +445,7 @@ namespace YooAsset
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public DecryptResult LoadEncryptedAssetBundleAsync(PackageBundle bundle)
|
public DecryptResult LoadEncryptedAssetBundleAsync(PackageBundle bundle)
|
||||||
{
|
{
|
||||||
string filePath = GetBuildinFileLoadPath(bundle);
|
string filePath = GetBuiltinFileLoadPath(bundle);
|
||||||
var fileInfo = new DecryptFileInfo()
|
var fileInfo = new DecryptFileInfo()
|
||||||
{
|
{
|
||||||
BundleName = bundle.BundleName,
|
BundleName = bundle.BundleName,
|
||||||
@@ -1,16 +1,16 @@
|
|||||||
|
|
||||||
namespace YooAsset
|
namespace YooAsset
|
||||||
{
|
{
|
||||||
internal class DefaultBuildinFileSystemDefine
|
internal class DefaultBuiltinFileSystemDefine
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 内置清单JSON文件名称
|
/// 内置清单JSON文件名称
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const string BuildinCatalogJsonFileName = "BuildinCatalog.json";
|
public const string BuiltinCatalogJsonFileName = "BuiltinCatalog.json";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 内置清单二进制文件名称
|
/// 内置清单二进制文件名称
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const string BuildinCatalogBinaryFileName = "BuildinCatalog.bytes";
|
public const string BuiltinCatalogBinaryFileName = "BuiltinCatalog.bytes";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -8,23 +8,23 @@ namespace YooAsset
|
|||||||
private enum ESteps
|
private enum ESteps
|
||||||
{
|
{
|
||||||
None,
|
None,
|
||||||
LoadBuildinPackageVersion,
|
LoadBuiltinPackageVersion,
|
||||||
CopyBuildinPackageHash,
|
CopyBuiltinPackageHash,
|
||||||
CopyBuildinPackageManifest,
|
CopyBuiltinPackageManifest,
|
||||||
InitUnpackFileSystem,
|
InitUnpackFileSystem,
|
||||||
LoadCatalogFile,
|
LoadCatalogFile,
|
||||||
Done,
|
Done,
|
||||||
}
|
}
|
||||||
|
|
||||||
private readonly DefaultBuildinFileSystem _fileSystem;
|
private readonly DefaultBuiltinFileSystem _fileSystem;
|
||||||
private RequestBuildinPackageVersionOperation _requestBuildinPackageVersionOp;
|
private RequestBuiltinPackageVersionOperation _requestBuiltinPackageVersionOp;
|
||||||
private CopyBuildinFileOperation _copyBuildinHashFileOp;
|
private CopyBuiltinFileOperation _copyBuiltinHashFileOp;
|
||||||
private CopyBuildinFileOperation _copyBuildinManifestFileOp;
|
private CopyBuiltinFileOperation _copyBuiltinManifestFileOp;
|
||||||
private FSInitializeFileSystemOperation _initUnpackFIleSystemOp;
|
private FSInitializeFileSystemOperation _initUnpackFIleSystemOp;
|
||||||
private LoadBuildinCatalogFileOperation _loadBuildinCatalogFileOp;
|
private LoadBuiltinCatalogFileOperation _loadBuiltinCatalogFileOp;
|
||||||
private ESteps _steps = ESteps.None;
|
private ESteps _steps = ESteps.None;
|
||||||
|
|
||||||
internal DBFSInitializeOperation(DefaultBuildinFileSystem fileSystem)
|
internal DBFSInitializeOperation(DefaultBuiltinFileSystem fileSystem)
|
||||||
{
|
{
|
||||||
_fileSystem = fileSystem;
|
_fileSystem = fileSystem;
|
||||||
}
|
}
|
||||||
@@ -33,10 +33,10 @@ namespace YooAsset
|
|||||||
#if UNITY_WEBGL
|
#if UNITY_WEBGL
|
||||||
_steps = ESteps.Done;
|
_steps = ESteps.Done;
|
||||||
Status = EOperationStatus.Failed;
|
Status = EOperationStatus.Failed;
|
||||||
Error = $"{nameof(DefaultBuildinFileSystem)} is not support WEBGL platform !";
|
Error = $"{nameof(DefaultBuiltinFileSystem)} is not support WEBGL platform !";
|
||||||
#else
|
#else
|
||||||
if (_fileSystem.CopyBuildinPackageManifest)
|
if (_fileSystem.CopyBuiltinPackageManifest)
|
||||||
_steps = ESteps.LoadBuildinPackageVersion;
|
_steps = ESteps.LoadBuiltinPackageVersion;
|
||||||
else
|
else
|
||||||
_steps = ESteps.InitUnpackFileSystem;
|
_steps = ESteps.InitUnpackFileSystem;
|
||||||
#endif
|
#endif
|
||||||
@@ -46,76 +46,76 @@ namespace YooAsset
|
|||||||
if (_steps == ESteps.None || _steps == ESteps.Done)
|
if (_steps == ESteps.None || _steps == ESteps.Done)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (_steps == ESteps.LoadBuildinPackageVersion)
|
if (_steps == ESteps.LoadBuiltinPackageVersion)
|
||||||
{
|
{
|
||||||
if (_requestBuildinPackageVersionOp == null)
|
if (_requestBuiltinPackageVersionOp == null)
|
||||||
{
|
{
|
||||||
_requestBuildinPackageVersionOp = new RequestBuildinPackageVersionOperation(_fileSystem);
|
_requestBuiltinPackageVersionOp = new RequestBuiltinPackageVersionOperation(_fileSystem);
|
||||||
_requestBuildinPackageVersionOp.StartOperation();
|
_requestBuiltinPackageVersionOp.StartOperation();
|
||||||
AddChildOperation(_requestBuildinPackageVersionOp);
|
AddChildOperation(_requestBuiltinPackageVersionOp);
|
||||||
}
|
}
|
||||||
|
|
||||||
_requestBuildinPackageVersionOp.UpdateOperation();
|
_requestBuiltinPackageVersionOp.UpdateOperation();
|
||||||
if (_requestBuildinPackageVersionOp.IsDone == false)
|
if (_requestBuiltinPackageVersionOp.IsDone == false)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (_requestBuildinPackageVersionOp.Status == EOperationStatus.Succeed)
|
if (_requestBuiltinPackageVersionOp.Status == EOperationStatus.Succeed)
|
||||||
{
|
{
|
||||||
_steps = ESteps.CopyBuildinPackageHash;
|
_steps = ESteps.CopyBuiltinPackageHash;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_steps = ESteps.Done;
|
_steps = ESteps.Done;
|
||||||
Status = EOperationStatus.Failed;
|
Status = EOperationStatus.Failed;
|
||||||
Error = _requestBuildinPackageVersionOp.Error;
|
Error = _requestBuiltinPackageVersionOp.Error;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_steps == ESteps.CopyBuildinPackageHash)
|
if (_steps == ESteps.CopyBuiltinPackageHash)
|
||||||
{
|
{
|
||||||
if (_copyBuildinHashFileOp == null)
|
if (_copyBuiltinHashFileOp == null)
|
||||||
{
|
{
|
||||||
string packageVersion = _requestBuildinPackageVersionOp.PackageVersion;
|
string packageVersion = _requestBuiltinPackageVersionOp.PackageVersion;
|
||||||
string destFilePath = GetCopyPackageHashDestPath(packageVersion);
|
string destFilePath = GetCopyPackageHashDestPath(packageVersion);
|
||||||
string sourceFilePath = _fileSystem.GetBuildinPackageHashFilePath(packageVersion);
|
string sourceFilePath = _fileSystem.GetBuiltinPackageHashFilePath(packageVersion);
|
||||||
_copyBuildinHashFileOp = new CopyBuildinFileOperation(sourceFilePath, destFilePath);
|
_copyBuiltinHashFileOp = new CopyBuiltinFileOperation(sourceFilePath, destFilePath);
|
||||||
_copyBuildinHashFileOp.StartOperation();
|
_copyBuiltinHashFileOp.StartOperation();
|
||||||
AddChildOperation(_copyBuildinHashFileOp);
|
AddChildOperation(_copyBuiltinHashFileOp);
|
||||||
}
|
}
|
||||||
|
|
||||||
_copyBuildinHashFileOp.UpdateOperation();
|
_copyBuiltinHashFileOp.UpdateOperation();
|
||||||
if (_copyBuildinHashFileOp.IsDone == false)
|
if (_copyBuiltinHashFileOp.IsDone == false)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (_copyBuildinHashFileOp.Status == EOperationStatus.Succeed)
|
if (_copyBuiltinHashFileOp.Status == EOperationStatus.Succeed)
|
||||||
{
|
{
|
||||||
_steps = ESteps.CopyBuildinPackageManifest;
|
_steps = ESteps.CopyBuiltinPackageManifest;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_steps = ESteps.Done;
|
_steps = ESteps.Done;
|
||||||
Status = EOperationStatus.Failed;
|
Status = EOperationStatus.Failed;
|
||||||
Error = _copyBuildinHashFileOp.Error;
|
Error = _copyBuiltinHashFileOp.Error;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_steps == ESteps.CopyBuildinPackageManifest)
|
if (_steps == ESteps.CopyBuiltinPackageManifest)
|
||||||
{
|
{
|
||||||
if (_copyBuildinManifestFileOp == null)
|
if (_copyBuiltinManifestFileOp == null)
|
||||||
{
|
{
|
||||||
string packageVersion = _requestBuildinPackageVersionOp.PackageVersion;
|
string packageVersion = _requestBuiltinPackageVersionOp.PackageVersion;
|
||||||
string destFilePath = GetCopyPackageManifestDestPath(packageVersion);
|
string destFilePath = GetCopyPackageManifestDestPath(packageVersion);
|
||||||
string sourceFilePath = _fileSystem.GetBuildinPackageManifestFilePath(packageVersion);
|
string sourceFilePath = _fileSystem.GetBuiltinPackageManifestFilePath(packageVersion);
|
||||||
_copyBuildinManifestFileOp = new CopyBuildinFileOperation(sourceFilePath, destFilePath);
|
_copyBuiltinManifestFileOp = new CopyBuiltinFileOperation(sourceFilePath, destFilePath);
|
||||||
_copyBuildinManifestFileOp.StartOperation();
|
_copyBuiltinManifestFileOp.StartOperation();
|
||||||
AddChildOperation(_copyBuildinManifestFileOp);
|
AddChildOperation(_copyBuiltinManifestFileOp);
|
||||||
}
|
}
|
||||||
|
|
||||||
_copyBuildinManifestFileOp.UpdateOperation();
|
_copyBuiltinManifestFileOp.UpdateOperation();
|
||||||
if (_copyBuildinManifestFileOp.IsDone == false)
|
if (_copyBuiltinManifestFileOp.IsDone == false)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (_copyBuildinManifestFileOp.Status == EOperationStatus.Succeed)
|
if (_copyBuiltinManifestFileOp.Status == EOperationStatus.Succeed)
|
||||||
{
|
{
|
||||||
_steps = ESteps.InitUnpackFileSystem;
|
_steps = ESteps.InitUnpackFileSystem;
|
||||||
}
|
}
|
||||||
@@ -123,7 +123,7 @@ namespace YooAsset
|
|||||||
{
|
{
|
||||||
_steps = ESteps.Done;
|
_steps = ESteps.Done;
|
||||||
Status = EOperationStatus.Failed;
|
Status = EOperationStatus.Failed;
|
||||||
Error = _copyBuildinManifestFileOp.Error;
|
Error = _copyBuiltinManifestFileOp.Error;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -163,20 +163,20 @@ namespace YooAsset
|
|||||||
|
|
||||||
if (_steps == ESteps.LoadCatalogFile)
|
if (_steps == ESteps.LoadCatalogFile)
|
||||||
{
|
{
|
||||||
if (_loadBuildinCatalogFileOp == null)
|
if (_loadBuiltinCatalogFileOp == null)
|
||||||
{
|
{
|
||||||
_loadBuildinCatalogFileOp = new LoadBuildinCatalogFileOperation(_fileSystem);
|
_loadBuiltinCatalogFileOp = new LoadBuiltinCatalogFileOperation(_fileSystem);
|
||||||
_loadBuildinCatalogFileOp.StartOperation();
|
_loadBuiltinCatalogFileOp.StartOperation();
|
||||||
AddChildOperation(_loadBuildinCatalogFileOp);
|
AddChildOperation(_loadBuiltinCatalogFileOp);
|
||||||
}
|
}
|
||||||
|
|
||||||
_loadBuildinCatalogFileOp.UpdateOperation();
|
_loadBuiltinCatalogFileOp.UpdateOperation();
|
||||||
if (_loadBuildinCatalogFileOp.IsDone == false)
|
if (_loadBuiltinCatalogFileOp.IsDone == false)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (_loadBuildinCatalogFileOp.Status == EOperationStatus.Succeed)
|
if (_loadBuiltinCatalogFileOp.Status == EOperationStatus.Succeed)
|
||||||
{
|
{
|
||||||
var catalog = _loadBuildinCatalogFileOp.Catalog;
|
var catalog = _loadBuiltinCatalogFileOp.Catalog;
|
||||||
if (catalog == null)
|
if (catalog == null)
|
||||||
{
|
{
|
||||||
_steps = ESteps.Done;
|
_steps = ESteps.Done;
|
||||||
@@ -195,11 +195,11 @@ namespace YooAsset
|
|||||||
|
|
||||||
foreach (var wrapper in catalog.Wrappers)
|
foreach (var wrapper in catalog.Wrappers)
|
||||||
{
|
{
|
||||||
var fileWrapper = new DefaultBuildinFileSystem.FileWrapper(wrapper.FileName);
|
var fileWrapper = new DefaultBuiltinFileSystem.FileWrapper(wrapper.FileName);
|
||||||
_fileSystem.RecordCatalogFile(wrapper.BundleGUID, fileWrapper);
|
_fileSystem.RecordCatalogFile(wrapper.BundleGUID, fileWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
YooLogger.Log($"Package '{_fileSystem.PackageName}' buildin catalog files count : {catalog.Wrappers.Count}");
|
YooLogger.Log($"Package '{_fileSystem.PackageName}' builtin catalog files count : {catalog.Wrappers.Count}");
|
||||||
_steps = ESteps.Done;
|
_steps = ESteps.Done;
|
||||||
Status = EOperationStatus.Succeed;
|
Status = EOperationStatus.Succeed;
|
||||||
}
|
}
|
||||||
@@ -207,14 +207,14 @@ namespace YooAsset
|
|||||||
{
|
{
|
||||||
_steps = ESteps.Done;
|
_steps = ESteps.Done;
|
||||||
Status = EOperationStatus.Failed;
|
Status = EOperationStatus.Failed;
|
||||||
Error = _loadBuildinCatalogFileOp.Error;
|
Error = _loadBuiltinCatalogFileOp.Error;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private string GetCopyManifestFileRoot()
|
private string GetCopyManifestFileRoot()
|
||||||
{
|
{
|
||||||
string destRoot = _fileSystem.CopyBuildinPackageManifestDestRoot;
|
string destRoot = _fileSystem.CopyBuiltinPackageManifestDestRoot;
|
||||||
if (string.IsNullOrEmpty(destRoot))
|
if (string.IsNullOrEmpty(destRoot))
|
||||||
{
|
{
|
||||||
string defaultCacheRoot = YooAssetSettingsData.GetYooDefaultCacheRoot();
|
string defaultCacheRoot = YooAssetSettingsData.GetYooDefaultCacheRoot();
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ namespace YooAsset
|
|||||||
Done,
|
Done,
|
||||||
}
|
}
|
||||||
|
|
||||||
private readonly DefaultBuildinFileSystem _fileSystem;
|
private readonly DefaultBuiltinFileSystem _fileSystem;
|
||||||
private readonly PackageBundle _bundle;
|
private readonly PackageBundle _bundle;
|
||||||
private AssetBundleCreateRequest _createRequest;
|
private AssetBundleCreateRequest _createRequest;
|
||||||
private AssetBundle _assetBundle;
|
private AssetBundle _assetBundle;
|
||||||
@@ -24,7 +24,7 @@ namespace YooAsset
|
|||||||
private ESteps _steps = ESteps.None;
|
private ESteps _steps = ESteps.None;
|
||||||
|
|
||||||
|
|
||||||
internal DBFSLoadAssetBundleOperation(DefaultBuildinFileSystem fileSystem, PackageBundle bundle)
|
internal DBFSLoadAssetBundleOperation(DefaultBuiltinFileSystem fileSystem, PackageBundle bundle)
|
||||||
{
|
{
|
||||||
_fileSystem = fileSystem;
|
_fileSystem = fileSystem;
|
||||||
_bundle = bundle;
|
_bundle = bundle;
|
||||||
@@ -64,7 +64,7 @@ namespace YooAsset
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
string filePath = _fileSystem.GetBuildinFileLoadPath(_bundle);
|
string filePath = _fileSystem.GetBuiltinFileLoadPath(_bundle);
|
||||||
_assetBundle = AssetBundle.LoadFromFile(filePath);
|
_assetBundle = AssetBundle.LoadFromFile(filePath);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -78,7 +78,7 @@ namespace YooAsset
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
string filePath = _fileSystem.GetBuildinFileLoadPath(_bundle);
|
string filePath = _fileSystem.GetBuiltinFileLoadPath(_bundle);
|
||||||
_createRequest = AssetBundle.LoadFromFileAsync(filePath);
|
_createRequest = AssetBundle.LoadFromFileAsync(filePath);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -110,14 +110,14 @@ namespace YooAsset
|
|||||||
{
|
{
|
||||||
_steps = ESteps.Done;
|
_steps = ESteps.Done;
|
||||||
Status = EOperationStatus.Failed;
|
Status = EOperationStatus.Failed;
|
||||||
Error = $"Failed to load encrypted buildin asset bundle file : {_bundle.BundleName}";
|
Error = $"Failed to load encrypted builtin asset bundle file : {_bundle.BundleName}";
|
||||||
YooLogger.Error(Error);
|
YooLogger.Error(Error);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_steps = ESteps.Done;
|
_steps = ESteps.Done;
|
||||||
Status = EOperationStatus.Failed;
|
Status = EOperationStatus.Failed;
|
||||||
Error = $"Failed to load buildin asset bundle file : {_bundle.BundleName}";
|
Error = $"Failed to load builtin asset bundle file : {_bundle.BundleName}";
|
||||||
YooLogger.Error(Error);
|
YooLogger.Error(Error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -150,16 +150,16 @@ namespace YooAsset
|
|||||||
private enum ESteps
|
private enum ESteps
|
||||||
{
|
{
|
||||||
None,
|
None,
|
||||||
LoadBuildinRawBundle,
|
LoadBuiltinRawBundle,
|
||||||
Done,
|
Done,
|
||||||
}
|
}
|
||||||
|
|
||||||
private readonly DefaultBuildinFileSystem _fileSystem;
|
private readonly DefaultBuiltinFileSystem _fileSystem;
|
||||||
private readonly PackageBundle _bundle;
|
private readonly PackageBundle _bundle;
|
||||||
private ESteps _steps = ESteps.None;
|
private ESteps _steps = ESteps.None;
|
||||||
|
|
||||||
|
|
||||||
internal DBFSLoadRawBundleOperation(DefaultBuildinFileSystem fileSystem, PackageBundle bundle)
|
internal DBFSLoadRawBundleOperation(DefaultBuiltinFileSystem fileSystem, PackageBundle bundle)
|
||||||
{
|
{
|
||||||
_fileSystem = fileSystem;
|
_fileSystem = fileSystem;
|
||||||
_bundle = bundle;
|
_bundle = bundle;
|
||||||
@@ -168,22 +168,22 @@ namespace YooAsset
|
|||||||
{
|
{
|
||||||
DownloadProgress = 1f;
|
DownloadProgress = 1f;
|
||||||
DownloadedBytes = _bundle.FileSize;
|
DownloadedBytes = _bundle.FileSize;
|
||||||
_steps = ESteps.LoadBuildinRawBundle;
|
_steps = ESteps.LoadBuiltinRawBundle;
|
||||||
}
|
}
|
||||||
internal override void InternalUpdate()
|
internal override void InternalUpdate()
|
||||||
{
|
{
|
||||||
if (_steps == ESteps.None || _steps == ESteps.Done)
|
if (_steps == ESteps.None || _steps == ESteps.Done)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (_steps == ESteps.LoadBuildinRawBundle)
|
if (_steps == ESteps.LoadBuiltinRawBundle)
|
||||||
{
|
{
|
||||||
string filePath = _fileSystem.GetBuildinFileLoadPath(_bundle);
|
string filePath = _fileSystem.GetBuiltinFileLoadPath(_bundle);
|
||||||
|
|
||||||
#if UNITY_ANDROID
|
#if UNITY_ANDROID
|
||||||
//TODO : 安卓平台内置文件属于APK压缩包内的文件。
|
//TODO : 安卓平台内置文件属于APK压缩包内的文件。
|
||||||
_steps = ESteps.Done;
|
_steps = ESteps.Done;
|
||||||
Status = EOperationStatus.Failed;
|
Status = EOperationStatus.Failed;
|
||||||
Error = $"Can not load android buildin raw bundle file : {filePath}";
|
Error = $"Can not load android builtin raw bundle file : {filePath}";
|
||||||
YooLogger.Error(Error);
|
YooLogger.Error(Error);
|
||||||
#else
|
#else
|
||||||
if (File.Exists(filePath))
|
if (File.Exists(filePath))
|
||||||
@@ -196,7 +196,7 @@ namespace YooAsset
|
|||||||
{
|
{
|
||||||
_steps = ESteps.Done;
|
_steps = ESteps.Done;
|
||||||
Status = EOperationStatus.Failed;
|
Status = EOperationStatus.Failed;
|
||||||
Error = $"Can not found buildin raw bundle file : {filePath}";
|
Error = $"Can not found builtin raw bundle file : {filePath}";
|
||||||
YooLogger.Error(Error);
|
YooLogger.Error(Error);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -6,82 +6,82 @@ namespace YooAsset
|
|||||||
private enum ESteps
|
private enum ESteps
|
||||||
{
|
{
|
||||||
None,
|
None,
|
||||||
RequestBuildinPackageHash,
|
RequestBuiltinPackageHash,
|
||||||
LoadBuildinPackageManifest,
|
LoadBuiltinPackageManifest,
|
||||||
Done,
|
Done,
|
||||||
}
|
}
|
||||||
|
|
||||||
private readonly DefaultBuildinFileSystem _fileSystem;
|
private readonly DefaultBuiltinFileSystem _fileSystem;
|
||||||
private readonly string _packageVersion;
|
private readonly string _packageVersion;
|
||||||
private RequestBuildinPackageHashOperation _requestBuildinPackageHashOp;
|
private RequestBuiltinPackageHashOperation _requestBuiltinPackageHashOp;
|
||||||
private LoadBuildinPackageManifestOperation _loadBuildinPackageManifestOp;
|
private LoadBuiltinPackageManifestOperation _loadBuiltinPackageManifestOp;
|
||||||
private ESteps _steps = ESteps.None;
|
private ESteps _steps = ESteps.None;
|
||||||
|
|
||||||
|
|
||||||
public DBFSLoadPackageManifestOperation(DefaultBuildinFileSystem fileSystem, string packageVersion)
|
public DBFSLoadPackageManifestOperation(DefaultBuiltinFileSystem fileSystem, string packageVersion)
|
||||||
{
|
{
|
||||||
_fileSystem = fileSystem;
|
_fileSystem = fileSystem;
|
||||||
_packageVersion = packageVersion;
|
_packageVersion = packageVersion;
|
||||||
}
|
}
|
||||||
internal override void InternalStart()
|
internal override void InternalStart()
|
||||||
{
|
{
|
||||||
_steps = ESteps.RequestBuildinPackageHash;
|
_steps = ESteps.RequestBuiltinPackageHash;
|
||||||
}
|
}
|
||||||
internal override void InternalUpdate()
|
internal override void InternalUpdate()
|
||||||
{
|
{
|
||||||
if (_steps == ESteps.None || _steps == ESteps.Done)
|
if (_steps == ESteps.None || _steps == ESteps.Done)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (_steps == ESteps.RequestBuildinPackageHash)
|
if (_steps == ESteps.RequestBuiltinPackageHash)
|
||||||
{
|
{
|
||||||
if (_requestBuildinPackageHashOp == null)
|
if (_requestBuiltinPackageHashOp == null)
|
||||||
{
|
{
|
||||||
_requestBuildinPackageHashOp = new RequestBuildinPackageHashOperation(_fileSystem, _packageVersion);
|
_requestBuiltinPackageHashOp = new RequestBuiltinPackageHashOperation(_fileSystem, _packageVersion);
|
||||||
_requestBuildinPackageHashOp.StartOperation();
|
_requestBuiltinPackageHashOp.StartOperation();
|
||||||
AddChildOperation(_requestBuildinPackageHashOp);
|
AddChildOperation(_requestBuiltinPackageHashOp);
|
||||||
}
|
}
|
||||||
|
|
||||||
_requestBuildinPackageHashOp.UpdateOperation();
|
_requestBuiltinPackageHashOp.UpdateOperation();
|
||||||
if (_requestBuildinPackageHashOp.IsDone == false)
|
if (_requestBuiltinPackageHashOp.IsDone == false)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (_requestBuildinPackageHashOp.Status == EOperationStatus.Succeed)
|
if (_requestBuiltinPackageHashOp.Status == EOperationStatus.Succeed)
|
||||||
{
|
{
|
||||||
_steps = ESteps.LoadBuildinPackageManifest;
|
_steps = ESteps.LoadBuiltinPackageManifest;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_steps = ESteps.Done;
|
_steps = ESteps.Done;
|
||||||
Status = EOperationStatus.Failed;
|
Status = EOperationStatus.Failed;
|
||||||
Error = _requestBuildinPackageHashOp.Error;
|
Error = _requestBuiltinPackageHashOp.Error;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_steps == ESteps.LoadBuildinPackageManifest)
|
if (_steps == ESteps.LoadBuiltinPackageManifest)
|
||||||
{
|
{
|
||||||
if (_loadBuildinPackageManifestOp == null)
|
if (_loadBuiltinPackageManifestOp == null)
|
||||||
{
|
{
|
||||||
string packageHash = _requestBuildinPackageHashOp.PackageHash;
|
string packageHash = _requestBuiltinPackageHashOp.PackageHash;
|
||||||
_loadBuildinPackageManifestOp = new LoadBuildinPackageManifestOperation(_fileSystem, _packageVersion, packageHash);
|
_loadBuiltinPackageManifestOp = new LoadBuiltinPackageManifestOperation(_fileSystem, _packageVersion, packageHash);
|
||||||
_loadBuildinPackageManifestOp.StartOperation();
|
_loadBuiltinPackageManifestOp.StartOperation();
|
||||||
AddChildOperation(_loadBuildinPackageManifestOp);
|
AddChildOperation(_loadBuiltinPackageManifestOp);
|
||||||
}
|
}
|
||||||
|
|
||||||
_loadBuildinPackageManifestOp.UpdateOperation();
|
_loadBuiltinPackageManifestOp.UpdateOperation();
|
||||||
if (_loadBuildinPackageManifestOp.IsDone == false)
|
if (_loadBuiltinPackageManifestOp.IsDone == false)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (_loadBuildinPackageManifestOp.Status == EOperationStatus.Succeed)
|
if (_loadBuiltinPackageManifestOp.Status == EOperationStatus.Succeed)
|
||||||
{
|
{
|
||||||
_steps = ESteps.Done;
|
_steps = ESteps.Done;
|
||||||
Manifest = _loadBuildinPackageManifestOp.Manifest;
|
Manifest = _loadBuiltinPackageManifestOp.Manifest;
|
||||||
Status = EOperationStatus.Succeed;
|
Status = EOperationStatus.Succeed;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_steps = ESteps.Done;
|
_steps = ESteps.Done;
|
||||||
Status = EOperationStatus.Failed;
|
Status = EOperationStatus.Failed;
|
||||||
Error = _loadBuildinPackageManifestOp.Error;
|
Error = _loadBuiltinPackageManifestOp.Error;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,12 +10,12 @@ namespace YooAsset
|
|||||||
Done,
|
Done,
|
||||||
}
|
}
|
||||||
|
|
||||||
private readonly DefaultBuildinFileSystem _fileSystem;
|
private readonly DefaultBuiltinFileSystem _fileSystem;
|
||||||
private RequestBuildinPackageVersionOperation _requestBuildinPackageVersionOp;
|
private RequestBuiltinPackageVersionOperation _requestBuiltinPackageVersionOp;
|
||||||
private ESteps _steps = ESteps.None;
|
private ESteps _steps = ESteps.None;
|
||||||
|
|
||||||
|
|
||||||
internal DBFSRequestPackageVersionOperation(DefaultBuildinFileSystem fileSystem)
|
internal DBFSRequestPackageVersionOperation(DefaultBuiltinFileSystem fileSystem)
|
||||||
{
|
{
|
||||||
_fileSystem = fileSystem;
|
_fileSystem = fileSystem;
|
||||||
}
|
}
|
||||||
@@ -30,28 +30,28 @@ namespace YooAsset
|
|||||||
|
|
||||||
if (_steps == ESteps.RequestPackageVersion)
|
if (_steps == ESteps.RequestPackageVersion)
|
||||||
{
|
{
|
||||||
if (_requestBuildinPackageVersionOp == null)
|
if (_requestBuiltinPackageVersionOp == null)
|
||||||
{
|
{
|
||||||
_requestBuildinPackageVersionOp = new RequestBuildinPackageVersionOperation(_fileSystem);
|
_requestBuiltinPackageVersionOp = new RequestBuiltinPackageVersionOperation(_fileSystem);
|
||||||
_requestBuildinPackageVersionOp.StartOperation();
|
_requestBuiltinPackageVersionOp.StartOperation();
|
||||||
AddChildOperation(_requestBuildinPackageVersionOp);
|
AddChildOperation(_requestBuiltinPackageVersionOp);
|
||||||
}
|
}
|
||||||
|
|
||||||
_requestBuildinPackageVersionOp.UpdateOperation();
|
_requestBuiltinPackageVersionOp.UpdateOperation();
|
||||||
if (_requestBuildinPackageVersionOp.IsDone == false)
|
if (_requestBuiltinPackageVersionOp.IsDone == false)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (_requestBuildinPackageVersionOp.Status == EOperationStatus.Succeed)
|
if (_requestBuiltinPackageVersionOp.Status == EOperationStatus.Succeed)
|
||||||
{
|
{
|
||||||
_steps = ESteps.Done;
|
_steps = ESteps.Done;
|
||||||
PackageVersion = _requestBuildinPackageVersionOp.PackageVersion;
|
PackageVersion = _requestBuiltinPackageVersionOp.PackageVersion;
|
||||||
Status = EOperationStatus.Succeed;
|
Status = EOperationStatus.Succeed;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_steps = ESteps.Done;
|
_steps = ESteps.Done;
|
||||||
Status = EOperationStatus.Failed;
|
Status = EOperationStatus.Failed;
|
||||||
Error = _requestBuildinPackageVersionOp.Error;
|
Error = _requestBuiltinPackageVersionOp.Error;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ using System.IO;
|
|||||||
|
|
||||||
namespace YooAsset
|
namespace YooAsset
|
||||||
{
|
{
|
||||||
internal class CopyBuildinFileOperation : AsyncOperationBase
|
internal class CopyBuiltinFileOperation : AsyncOperationBase
|
||||||
{
|
{
|
||||||
private enum ESteps
|
private enum ESteps
|
||||||
{
|
{
|
||||||
@@ -19,7 +19,7 @@ namespace YooAsset
|
|||||||
private readonly string _destFilePath;
|
private readonly string _destFilePath;
|
||||||
private ESteps _steps = ESteps.None;
|
private ESteps _steps = ESteps.None;
|
||||||
|
|
||||||
public CopyBuildinFileOperation(string sourceFilePath, string destFilePath)
|
public CopyBuiltinFileOperation(string sourceFilePath, string destFilePath)
|
||||||
{
|
{
|
||||||
_sourceFilePath = sourceFilePath;
|
_sourceFilePath = sourceFilePath;
|
||||||
_destFilePath = destFilePath;
|
_destFilePath = destFilePath;
|
||||||
@@ -61,7 +61,7 @@ namespace YooAsset
|
|||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
YooLogger.Warning($"Failed copy buildin file : {ex.Message}");
|
YooLogger.Warning($"Failed copy builtin file : {ex.Message}");
|
||||||
_steps = ESteps.UnpackFile;
|
_steps = ESteps.UnpackFile;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3,7 +3,7 @@ using System.IO;
|
|||||||
|
|
||||||
namespace YooAsset
|
namespace YooAsset
|
||||||
{
|
{
|
||||||
internal sealed class LoadBuildinCatalogFileOperation : AsyncOperationBase
|
internal sealed class LoadBuiltinCatalogFileOperation : AsyncOperationBase
|
||||||
{
|
{
|
||||||
private enum ESteps
|
private enum ESteps
|
||||||
{
|
{
|
||||||
@@ -14,7 +14,7 @@ namespace YooAsset
|
|||||||
Done,
|
Done,
|
||||||
}
|
}
|
||||||
|
|
||||||
private readonly DefaultBuildinFileSystem _fileSystem;
|
private readonly DefaultBuiltinFileSystem _fileSystem;
|
||||||
private UnityWebDataRequestOperation _webDataRequestOp;
|
private UnityWebDataRequestOperation _webDataRequestOp;
|
||||||
private byte[] _fileData;
|
private byte[] _fileData;
|
||||||
private ESteps _steps = ESteps.None;
|
private ESteps _steps = ESteps.None;
|
||||||
@@ -22,9 +22,9 @@ namespace YooAsset
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 内置资源目录
|
/// 内置资源目录
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public DefaultBuildinFileCatalog Catalog;
|
public DefaultBuiltinFileCatalog Catalog;
|
||||||
|
|
||||||
internal LoadBuildinCatalogFileOperation(DefaultBuildinFileSystem fileSystem)
|
internal LoadBuiltinCatalogFileOperation(DefaultBuiltinFileSystem fileSystem)
|
||||||
{
|
{
|
||||||
_fileSystem = fileSystem;
|
_fileSystem = fileSystem;
|
||||||
}
|
}
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace YooAsset
|
namespace YooAsset
|
||||||
{
|
{
|
||||||
internal class LoadBuildinPackageManifestOperation : AsyncOperationBase
|
internal class LoadBuiltinPackageManifestOperation : AsyncOperationBase
|
||||||
{
|
{
|
||||||
private enum ESteps
|
private enum ESteps
|
||||||
{
|
{
|
||||||
@@ -14,7 +14,7 @@ namespace YooAsset
|
|||||||
Done,
|
Done,
|
||||||
}
|
}
|
||||||
|
|
||||||
private readonly DefaultBuildinFileSystem _fileSystem;
|
private readonly DefaultBuiltinFileSystem _fileSystem;
|
||||||
private readonly string _packageVersion;
|
private readonly string _packageVersion;
|
||||||
private readonly string _packageHash;
|
private readonly string _packageHash;
|
||||||
private UnityWebDataRequestOperation _webDataRequestOp;
|
private UnityWebDataRequestOperation _webDataRequestOp;
|
||||||
@@ -28,7 +28,7 @@ namespace YooAsset
|
|||||||
public PackageManifest Manifest { private set; get; }
|
public PackageManifest Manifest { private set; get; }
|
||||||
|
|
||||||
|
|
||||||
internal LoadBuildinPackageManifestOperation(DefaultBuildinFileSystem fileSystem, string packageVersion, string packageHash)
|
internal LoadBuiltinPackageManifestOperation(DefaultBuiltinFileSystem fileSystem, string packageVersion, string packageHash)
|
||||||
{
|
{
|
||||||
_fileSystem = fileSystem;
|
_fileSystem = fileSystem;
|
||||||
_packageVersion = packageVersion;
|
_packageVersion = packageVersion;
|
||||||
@@ -45,7 +45,7 @@ namespace YooAsset
|
|||||||
|
|
||||||
if (_steps == ESteps.TryLoadFileData)
|
if (_steps == ESteps.TryLoadFileData)
|
||||||
{
|
{
|
||||||
string filePath = _fileSystem.GetBuildinPackageManifestFilePath(_packageVersion);
|
string filePath = _fileSystem.GetBuiltinPackageManifestFilePath(_packageVersion);
|
||||||
if (File.Exists(filePath))
|
if (File.Exists(filePath))
|
||||||
{
|
{
|
||||||
_fileData = File.ReadAllBytes(filePath);
|
_fileData = File.ReadAllBytes(filePath);
|
||||||
@@ -61,7 +61,7 @@ namespace YooAsset
|
|||||||
{
|
{
|
||||||
if (_webDataRequestOp == null)
|
if (_webDataRequestOp == null)
|
||||||
{
|
{
|
||||||
string filePath = _fileSystem.GetBuildinPackageManifestFilePath(_packageVersion);
|
string filePath = _fileSystem.GetBuiltinPackageManifestFilePath(_packageVersion);
|
||||||
string url = DownloadSystemHelper.ConvertToWWWPath(filePath);
|
string url = DownloadSystemHelper.ConvertToWWWPath(filePath);
|
||||||
_webDataRequestOp = new UnityWebDataRequestOperation(url, 60);
|
_webDataRequestOp = new UnityWebDataRequestOperation(url, 60);
|
||||||
_webDataRequestOp.StartOperation();
|
_webDataRequestOp.StartOperation();
|
||||||
@@ -95,7 +95,7 @@ namespace YooAsset
|
|||||||
{
|
{
|
||||||
_steps = ESteps.Done;
|
_steps = ESteps.Done;
|
||||||
Status = EOperationStatus.Failed;
|
Status = EOperationStatus.Failed;
|
||||||
Error = "Failed to verify buildin package manifest file !";
|
Error = "Failed to verify builtin package manifest file !";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace YooAsset
|
namespace YooAsset
|
||||||
{
|
{
|
||||||
internal class RequestBuildinPackageHashOperation : AsyncOperationBase
|
internal class RequestBuiltinPackageHashOperation : AsyncOperationBase
|
||||||
{
|
{
|
||||||
private enum ESteps
|
private enum ESteps
|
||||||
{
|
{
|
||||||
@@ -13,7 +13,7 @@ namespace YooAsset
|
|||||||
Done,
|
Done,
|
||||||
}
|
}
|
||||||
|
|
||||||
private readonly DefaultBuildinFileSystem _fileSystem;
|
private readonly DefaultBuiltinFileSystem _fileSystem;
|
||||||
private readonly string _packageVersion;
|
private readonly string _packageVersion;
|
||||||
private UnityWebTextRequestOperation _webTextRequestOp;
|
private UnityWebTextRequestOperation _webTextRequestOp;
|
||||||
private ESteps _steps = ESteps.None;
|
private ESteps _steps = ESteps.None;
|
||||||
@@ -24,7 +24,7 @@ namespace YooAsset
|
|||||||
public string PackageHash { private set; get; }
|
public string PackageHash { private set; get; }
|
||||||
|
|
||||||
|
|
||||||
internal RequestBuildinPackageHashOperation(DefaultBuildinFileSystem fileSystem, string packageVersion)
|
internal RequestBuiltinPackageHashOperation(DefaultBuiltinFileSystem fileSystem, string packageVersion)
|
||||||
{
|
{
|
||||||
_fileSystem = fileSystem;
|
_fileSystem = fileSystem;
|
||||||
_packageVersion = packageVersion;
|
_packageVersion = packageVersion;
|
||||||
@@ -40,7 +40,7 @@ namespace YooAsset
|
|||||||
|
|
||||||
if (_steps == ESteps.TryLoadPackageHash)
|
if (_steps == ESteps.TryLoadPackageHash)
|
||||||
{
|
{
|
||||||
string filePath = _fileSystem.GetBuildinPackageHashFilePath(_packageVersion);
|
string filePath = _fileSystem.GetBuiltinPackageHashFilePath(_packageVersion);
|
||||||
if (File.Exists(filePath))
|
if (File.Exists(filePath))
|
||||||
{
|
{
|
||||||
PackageHash = File.ReadAllText(filePath);
|
PackageHash = File.ReadAllText(filePath);
|
||||||
@@ -56,7 +56,7 @@ namespace YooAsset
|
|||||||
{
|
{
|
||||||
if (_webTextRequestOp == null)
|
if (_webTextRequestOp == null)
|
||||||
{
|
{
|
||||||
string filePath = _fileSystem.GetBuildinPackageHashFilePath(_packageVersion);
|
string filePath = _fileSystem.GetBuiltinPackageHashFilePath(_packageVersion);
|
||||||
string url = DownloadSystemHelper.ConvertToWWWPath(filePath);
|
string url = DownloadSystemHelper.ConvertToWWWPath(filePath);
|
||||||
_webTextRequestOp = new UnityWebTextRequestOperation(url, 60);
|
_webTextRequestOp = new UnityWebTextRequestOperation(url, 60);
|
||||||
_webTextRequestOp.StartOperation();
|
_webTextRequestOp.StartOperation();
|
||||||
@@ -86,7 +86,7 @@ namespace YooAsset
|
|||||||
{
|
{
|
||||||
_steps = ESteps.Done;
|
_steps = ESteps.Done;
|
||||||
Status = EOperationStatus.Failed;
|
Status = EOperationStatus.Failed;
|
||||||
Error = $"Buildin package hash file content is empty !";
|
Error = $"Builtin package hash file content is empty !";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace YooAsset
|
namespace YooAsset
|
||||||
{
|
{
|
||||||
internal class RequestBuildinPackageVersionOperation : AsyncOperationBase
|
internal class RequestBuiltinPackageVersionOperation : AsyncOperationBase
|
||||||
{
|
{
|
||||||
private enum ESteps
|
private enum ESteps
|
||||||
{
|
{
|
||||||
@@ -13,7 +13,7 @@ namespace YooAsset
|
|||||||
Done,
|
Done,
|
||||||
}
|
}
|
||||||
|
|
||||||
private readonly DefaultBuildinFileSystem _fileSystem;
|
private readonly DefaultBuiltinFileSystem _fileSystem;
|
||||||
private UnityWebTextRequestOperation _webTextRequestOp;
|
private UnityWebTextRequestOperation _webTextRequestOp;
|
||||||
private ESteps _steps = ESteps.None;
|
private ESteps _steps = ESteps.None;
|
||||||
|
|
||||||
@@ -23,7 +23,7 @@ namespace YooAsset
|
|||||||
public string PackageVersion { private set; get; }
|
public string PackageVersion { private set; get; }
|
||||||
|
|
||||||
|
|
||||||
internal RequestBuildinPackageVersionOperation(DefaultBuildinFileSystem fileSystem)
|
internal RequestBuiltinPackageVersionOperation(DefaultBuiltinFileSystem fileSystem)
|
||||||
{
|
{
|
||||||
_fileSystem = fileSystem;
|
_fileSystem = fileSystem;
|
||||||
}
|
}
|
||||||
@@ -38,7 +38,7 @@ namespace YooAsset
|
|||||||
|
|
||||||
if (_steps == ESteps.TryLoadPackageVersion)
|
if (_steps == ESteps.TryLoadPackageVersion)
|
||||||
{
|
{
|
||||||
string filePath = _fileSystem.GetBuildinPackageVersionFilePath();
|
string filePath = _fileSystem.GetBuiltinPackageVersionFilePath();
|
||||||
if (File.Exists(filePath))
|
if (File.Exists(filePath))
|
||||||
{
|
{
|
||||||
PackageVersion = File.ReadAllText(filePath);
|
PackageVersion = File.ReadAllText(filePath);
|
||||||
@@ -54,7 +54,7 @@ namespace YooAsset
|
|||||||
{
|
{
|
||||||
if (_webTextRequestOp == null)
|
if (_webTextRequestOp == null)
|
||||||
{
|
{
|
||||||
string filePath = _fileSystem.GetBuildinPackageVersionFilePath();
|
string filePath = _fileSystem.GetBuiltinPackageVersionFilePath();
|
||||||
string url = DownloadSystemHelper.ConvertToWWWPath(filePath);
|
string url = DownloadSystemHelper.ConvertToWWWPath(filePath);
|
||||||
_webTextRequestOp = new UnityWebTextRequestOperation(url, 60);
|
_webTextRequestOp = new UnityWebTextRequestOperation(url, 60);
|
||||||
_webTextRequestOp.StartOperation();
|
_webTextRequestOp.StartOperation();
|
||||||
@@ -84,7 +84,7 @@ namespace YooAsset
|
|||||||
{
|
{
|
||||||
_steps = ESteps.Done;
|
_steps = ESteps.Done;
|
||||||
Status = EOperationStatus.Failed;
|
Status = EOperationStatus.Failed;
|
||||||
Error = $"Buildin package version file content is empty !";
|
Error = $"Builtin package version file content is empty !";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -4,12 +4,12 @@ namespace YooAsset
|
|||||||
{
|
{
|
||||||
internal class DefaultUnpackRemoteServices : IRemoteServices
|
internal class DefaultUnpackRemoteServices : IRemoteServices
|
||||||
{
|
{
|
||||||
private readonly string _buildinPackageRoot;
|
private readonly string _builtinPackageRoot;
|
||||||
protected readonly Dictionary<string, string> _mapping = new Dictionary<string, string>(10000);
|
protected readonly Dictionary<string, string> _mapping = new Dictionary<string, string>(10000);
|
||||||
|
|
||||||
public DefaultUnpackRemoteServices(string buildinPackRoot)
|
public DefaultUnpackRemoteServices(string builtinPackRoot)
|
||||||
{
|
{
|
||||||
_buildinPackageRoot = buildinPackRoot;
|
_builtinPackageRoot = builtinPackRoot;
|
||||||
}
|
}
|
||||||
string IRemoteServices.GetRemoteMainURL(string fileName)
|
string IRemoteServices.GetRemoteMainURL(string fileName)
|
||||||
{
|
{
|
||||||
@@ -24,7 +24,7 @@ namespace YooAsset
|
|||||||
{
|
{
|
||||||
if (_mapping.TryGetValue(fileName, out string url) == false)
|
if (_mapping.TryGetValue(fileName, out string url) == false)
|
||||||
{
|
{
|
||||||
string filePath = PathUtility.Combine(_buildinPackageRoot, fileName);
|
string filePath = PathUtility.Combine(_builtinPackageRoot, fileName);
|
||||||
url = DownloadSystemHelper.ConvertToWWWPath(filePath);
|
url = DownloadSystemHelper.ConvertToWWWPath(filePath);
|
||||||
_mapping.Add(fileName, url);
|
_mapping.Add(fileName, url);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -180,7 +180,7 @@ namespace YooAsset
|
|||||||
#region 内部方法
|
#region 内部方法
|
||||||
protected string GetDefaultWebPackageRoot(string packageName)
|
protected string GetDefaultWebPackageRoot(string packageName)
|
||||||
{
|
{
|
||||||
string rootDirectory = YooAssetSettingsData.GetYooDefaultBuildinRoot();
|
string rootDirectory = YooAssetSettingsData.GetYooDefaultBuiltinRoot();
|
||||||
return PathUtility.Combine(rootDirectory, packageName);
|
return PathUtility.Combine(rootDirectory, packageName);
|
||||||
}
|
}
|
||||||
public string GetWebFileLoadPath(PackageBundle bundle)
|
public string GetWebFileLoadPath(PackageBundle bundle)
|
||||||
@@ -209,7 +209,7 @@ namespace YooAsset
|
|||||||
}
|
}
|
||||||
public string GetCatalogBinaryFileLoadPath()
|
public string GetCatalogBinaryFileLoadPath()
|
||||||
{
|
{
|
||||||
return PathUtility.Combine(_webPackageRoot, DefaultBuildinFileSystemDefine.BuildinCatalogBinaryFileName);
|
return PathUtility.Combine(_webPackageRoot, DefaultBuiltinFileSystemDefine.BuiltinCatalogBinaryFileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ namespace YooAsset
|
|||||||
_fileSystem.RecordCatalogFile(wrapper.BundleGUID, fileWrapper);
|
_fileSystem.RecordCatalogFile(wrapper.BundleGUID, fileWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
YooLogger.Log($"Package '{_fileSystem.PackageName}' buildin catalog files count : {catalog.Wrappers.Count}");
|
YooLogger.Log($"Package '{_fileSystem.PackageName}' builtin catalog files count : {catalog.Wrappers.Count}");
|
||||||
_steps = ESteps.Done;
|
_steps = ESteps.Done;
|
||||||
Status = EOperationStatus.Succeed;
|
Status = EOperationStatus.Succeed;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -83,9 +83,9 @@ namespace YooAsset
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="decryptionServices">加密文件解密服务类</param>
|
/// <param name="decryptionServices">加密文件解密服务类</param>
|
||||||
/// <param name="packageRoot">文件系统的根目录</param>
|
/// <param name="packageRoot">文件系统的根目录</param>
|
||||||
public static FileSystemParameters CreateDefaultBuildinFileSystemParameters(IDecryptionServices decryptionServices = null, string packageRoot = null)
|
public static FileSystemParameters CreateDefaultBuiltinFileSystemParameters(IDecryptionServices decryptionServices = null, string packageRoot = null)
|
||||||
{
|
{
|
||||||
string fileSystemClass = typeof(DefaultBuildinFileSystem).FullName;
|
string fileSystemClass = typeof(DefaultBuiltinFileSystem).FullName;
|
||||||
var fileSystemParams = new FileSystemParameters(fileSystemClass, packageRoot);
|
var fileSystemParams = new FileSystemParameters(fileSystemClass, packageRoot);
|
||||||
fileSystemParams.AddParameter(FileSystemParametersDefine.DECRYPTION_SERVICES, decryptionServices);
|
fileSystemParams.AddParameter(FileSystemParametersDefine.DECRYPTION_SERVICES, decryptionServices);
|
||||||
return fileSystemParams;
|
return fileSystemParams;
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ namespace YooAsset
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class OfflinePlayModeParameters : InitializeParameters
|
public class OfflinePlayModeParameters : InitializeParameters
|
||||||
{
|
{
|
||||||
public FileSystemParameters BuildinFileSystemParameters;
|
public FileSystemParameters BuiltinFileSystemParameters;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -79,7 +79,7 @@ namespace YooAsset
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class HostPlayModeParameters : InitializeParameters
|
public class HostPlayModeParameters : InitializeParameters
|
||||||
{
|
{
|
||||||
public FileSystemParameters BuildinFileSystemParameters;
|
public FileSystemParameters BuiltinFileSystemParameters;
|
||||||
public FileSystemParameters CacheFileSystemParameters;
|
public FileSystemParameters CacheFileSystemParameters;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -112,12 +112,12 @@ namespace YooAsset
|
|||||||
else if (_playMode == EPlayMode.OfflinePlayMode)
|
else if (_playMode == EPlayMode.OfflinePlayMode)
|
||||||
{
|
{
|
||||||
var initializeParameters = parameters as OfflinePlayModeParameters;
|
var initializeParameters = parameters as OfflinePlayModeParameters;
|
||||||
initializeOperation = playModeImpl.InitializeAsync(initializeParameters.BuildinFileSystemParameters);
|
initializeOperation = playModeImpl.InitializeAsync(initializeParameters.BuiltinFileSystemParameters);
|
||||||
}
|
}
|
||||||
else if (_playMode == EPlayMode.HostPlayMode)
|
else if (_playMode == EPlayMode.HostPlayMode)
|
||||||
{
|
{
|
||||||
var initializeParameters = parameters as HostPlayModeParameters;
|
var initializeParameters = parameters as HostPlayModeParameters;
|
||||||
initializeOperation = playModeImpl.InitializeAsync(initializeParameters.BuildinFileSystemParameters, initializeParameters.CacheFileSystemParameters);
|
initializeOperation = playModeImpl.InitializeAsync(initializeParameters.BuiltinFileSystemParameters, initializeParameters.CacheFileSystemParameters);
|
||||||
}
|
}
|
||||||
else if (_playMode == EPlayMode.WebPlayMode)
|
else if (_playMode == EPlayMode.WebPlayMode)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -191,7 +191,7 @@ namespace YooAsset
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取YOO默认的内置文件根目录
|
/// 获取YOO默认的内置文件根目录
|
||||||
/// </summary>
|
/// </summary>
|
||||||
internal static string GetYooDefaultBuildinRoot()
|
internal static string GetYooDefaultBuiltinRoot()
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(Setting.DefaultYooFolderName))
|
if (string.IsNullOrEmpty(Setting.DefaultYooFolderName))
|
||||||
return Application.streamingAssetsPath;
|
return Application.streamingAssetsPath;
|
||||||
|
|||||||
Reference in New Issue
Block a user