diff --git a/Assets/YooAsset/Editor/AssetBundleBuilder/AssetBundleBuilderHelper.cs b/Assets/YooAsset/Editor/AssetBundleBuilder/AssetBundleBuilderHelper.cs index 020c2162..eb11b8f7 100644 --- a/Assets/YooAsset/Editor/AssetBundleBuilder/AssetBundleBuilderHelper.cs +++ b/Assets/YooAsset/Editor/AssetBundleBuilder/AssetBundleBuilderHelper.cs @@ -22,7 +22,7 @@ namespace YooAsset.Editor /// public static string GetStreamingAssetsRoot() { - return YooAssetSettingsData.GetYooEditorBuildinRoot(); + return YooAssetSettingsData.GetYooDefaultBuildinRoot(); } } } \ No newline at end of file diff --git a/Assets/YooAsset/Runtime/FileSystem/DefaultBuildinFileSystem/DefaultBuildinFileSystem.cs b/Assets/YooAsset/Runtime/FileSystem/DefaultBuildinFileSystem/DefaultBuildinFileSystem.cs index ae545f4d..b3326a5b 100644 --- a/Assets/YooAsset/Runtime/FileSystem/DefaultBuildinFileSystem/DefaultBuildinFileSystem.cs +++ b/Assets/YooAsset/Runtime/FileSystem/DefaultBuildinFileSystem/DefaultBuildinFileSystem.cs @@ -68,6 +68,17 @@ namespace YooAsset /// public bool DisableCatalogFile { private set; get; } = false; + /// + /// 自定义参数:拷贝内置清单 + /// + public bool CopyBuildinPackageManifest { private set; get; } = false; + + /// + /// 自定义参数:拷贝内置清单的目标目录 + /// 注意:该参数为空的时候,会获取默认的沙盒目录! + /// + public string CopyBuildinPackageManifestDestPath { private set; get; } + /// /// 自定义参数:解密方法类 /// @@ -147,6 +158,11 @@ namespace YooAsset { DisableCatalogFile = (bool)value; } + else if (name == FileSystemParametersDefine.COPY_BUILDIN_PACKAGE_MANIFEST) + { + CopyBuildinPackageManifest = true; + CopyBuildinPackageManifestDestPath = (string)value; + } else if (name == FileSystemParametersDefine.DECRYPTION_SERVICES) { DecryptionServices = (IDecryptionServices)value; @@ -291,7 +307,7 @@ namespace YooAsset #region 内部方法 protected string GetDefaultBuildinPackageRoot(string packageName) { - string rootDirectory = YooAssetSettingsData.GetYooMobileBuildinRoot(); + string rootDirectory = YooAssetSettingsData.GetYooDefaultBuildinRoot(); return PathUtility.Combine(rootDirectory, packageName); } public string GetBuildinFileLoadPath(PackageBundle bundle) diff --git a/Assets/YooAsset/Runtime/FileSystem/DefaultBuildinFileSystem/DefaultBuildinFileSystemBuild.cs b/Assets/YooAsset/Runtime/FileSystem/DefaultBuildinFileSystem/DefaultBuildinFileSystemBuild.cs index eb1d6a9b..0568c157 100644 --- a/Assets/YooAsset/Runtime/FileSystem/DefaultBuildinFileSystem/DefaultBuildinFileSystemBuild.cs +++ b/Assets/YooAsset/Runtime/FileSystem/DefaultBuildinFileSystem/DefaultBuildinFileSystemBuild.cs @@ -22,7 +22,7 @@ namespace YooAsset if (saveDirectory.Exists) saveDirectory.Delete(true); - string rootPath = YooAssetSettingsData.GetYooEditorBuildinRoot(); + string rootPath = YooAssetSettingsData.GetYooDefaultBuildinRoot(); DirectoryInfo rootDirectory = new DirectoryInfo(rootPath); if (rootDirectory.Exists == false) { diff --git a/Assets/YooAsset/Runtime/FileSystem/DefaultCacheFileSystem/DefaultCacheFileSystem.cs b/Assets/YooAsset/Runtime/FileSystem/DefaultCacheFileSystem/DefaultCacheFileSystem.cs index 8374c5d3..bff667ea 100644 --- a/Assets/YooAsset/Runtime/FileSystem/DefaultCacheFileSystem/DefaultCacheFileSystem.cs +++ b/Assets/YooAsset/Runtime/FileSystem/DefaultCacheFileSystem/DefaultCacheFileSystem.cs @@ -473,16 +473,7 @@ namespace YooAsset #region 内部方法 public string GetDefaultCachePackageRoot(string packageName) { - string rootDirectory; - -#if UNITY_EDITOR - rootDirectory = YooAssetSettingsData.GetYooEditorCacheRoot(); -#elif UNITY_STANDALONE - rootDirectory = YooAssetSettingsData.GetYooStandaloneCacheRoot(); -#else - rootDirectory = YooAssetSettingsData.GetYooMobileCacheRoot(); -#endif - + string rootDirectory = YooAssetSettingsData.GetYooDefaultCacheRoot(); return PathUtility.Combine(rootDirectory, packageName); } public string GetCacheBundleFileLoadPath(PackageBundle bundle) diff --git a/Assets/YooAsset/Runtime/FileSystem/DefaultEditorFileSystem/DefaultEditorFileSystem.cs b/Assets/YooAsset/Runtime/FileSystem/DefaultEditorFileSystem/DefaultEditorFileSystem.cs index 6ea9ab5e..0736905e 100644 --- a/Assets/YooAsset/Runtime/FileSystem/DefaultEditorFileSystem/DefaultEditorFileSystem.cs +++ b/Assets/YooAsset/Runtime/FileSystem/DefaultEditorFileSystem/DefaultEditorFileSystem.cs @@ -174,17 +174,17 @@ namespace YooAsset public string GetEditorPackageVersionFilePath() { string fileName = YooAssetSettingsData.GetPackageVersionFileName(PackageName); - return PathUtility.Combine(FileRoot, fileName); + return PathUtility.Combine(_packageRoot, fileName); } public string GetEditorPackageHashFilePath(string packageVersion) { string fileName = YooAssetSettingsData.GetPackageHashFileName(PackageName, packageVersion); - return PathUtility.Combine(FileRoot, fileName); + return PathUtility.Combine(_packageRoot, fileName); } public string GetEditorPackageManifestFilePath(string packageVersion) { string fileName = YooAssetSettingsData.GetManifestBinaryFileName(PackageName, packageVersion); - return PathUtility.Combine(FileRoot, fileName); + return PathUtility.Combine(_packageRoot, fileName); } public int GetAsyncSimulateFrame() { diff --git a/Assets/YooAsset/Runtime/FileSystem/DefaultWebServerFileSystem/DefaultWebServerFileSystem.cs b/Assets/YooAsset/Runtime/FileSystem/DefaultWebServerFileSystem/DefaultWebServerFileSystem.cs index fc666e5f..08fd015e 100644 --- a/Assets/YooAsset/Runtime/FileSystem/DefaultWebServerFileSystem/DefaultWebServerFileSystem.cs +++ b/Assets/YooAsset/Runtime/FileSystem/DefaultWebServerFileSystem/DefaultWebServerFileSystem.cs @@ -168,7 +168,7 @@ namespace YooAsset #region 内部方法 protected string GetDefaultWebPackageRoot(string packageName) { - string rootDirectory = YooAssetSettingsData.GetYooWebBuildinRoot(); + string rootDirectory = YooAssetSettingsData.GetYooDefaultBuildinRoot(); return PathUtility.Combine(rootDirectory, packageName); } public string GetWebFileLoadPath(PackageBundle bundle) diff --git a/Assets/YooAsset/Runtime/FileSystem/DefaultWebServerFileSystem/Operation/DWSFSInitializeOperation.cs b/Assets/YooAsset/Runtime/FileSystem/DefaultWebServerFileSystem/Operation/DWSFSInitializeOperation.cs index 1813211a..8b4c8f6a 100644 --- a/Assets/YooAsset/Runtime/FileSystem/DefaultWebServerFileSystem/Operation/DWSFSInitializeOperation.cs +++ b/Assets/YooAsset/Runtime/FileSystem/DefaultWebServerFileSystem/Operation/DWSFSInitializeOperation.cs @@ -37,8 +37,7 @@ namespace YooAsset #if UNITY_EDITOR // 兼容性初始化 // 说明:内置文件系统在编辑器下运行时需要动态生成 - string buildinRoot = YooAssetSettingsData.GetYooEditorBuildinRoot(); - string packageRoot = PathUtility.Combine(buildinRoot, _fileSystem.PackageName); + string packageRoot = _fileSystem.FileRoot; bool result = DefaultBuildinFileSystemBuild.CreateBuildinCatalogFile(_fileSystem.PackageName, packageRoot); if (result == false) { diff --git a/Assets/YooAsset/Runtime/FileSystem/FileSystemParametersDefine.cs b/Assets/YooAsset/Runtime/FileSystem/FileSystemParametersDefine.cs index 5f864a2c..86bef3d9 100644 --- a/Assets/YooAsset/Runtime/FileSystem/FileSystemParametersDefine.cs +++ b/Assets/YooAsset/Runtime/FileSystem/FileSystemParametersDefine.cs @@ -15,5 +15,6 @@ namespace YooAsset public const string RESUME_DOWNLOAD_RESPONSE_CODES = "RESUME_DOWNLOAD_RESPONSE_CODES"; public const string ASYNC_SIMULATE_MIN_FRAME = "ASYNC_SIMULATE_MIN_FRAME"; public const string ASYNC_SIMULATE_MAX_FRAME = "ASYNC_SIMULATE_MAX_FRAME"; + public const string COPY_BUILDIN_PACKAGE_MANIFEST = "COPY_BUILDIN_PACKAGE_MANIFEST"; } } \ No newline at end of file diff --git a/Assets/YooAsset/Runtime/Settings/YooAssetSettingsData.cs b/Assets/YooAsset/Runtime/Settings/YooAssetSettingsData.cs index d62a541a..6e7e0bd3 100644 --- a/Assets/YooAsset/Runtime/Settings/YooAssetSettingsData.cs +++ b/Assets/YooAsset/Runtime/Settings/YooAssetSettingsData.cs @@ -111,50 +111,6 @@ namespace YooAsset return $"Assets/Resources/{Setting.DefaultYooFolderName}"; } - /// - /// 获取YOO的编辑器下内置文件根目录 - /// - public static string GetYooEditorBuildinRoot() - { - if (string.IsNullOrEmpty(Setting.DefaultYooFolderName)) - return PathUtility.Combine(Application.dataPath, "StreamingAssets"); - else - return PathUtility.Combine(Application.dataPath, "StreamingAssets", Setting.DefaultYooFolderName); - } - - /// - /// 获取YOO的PC端内置文件根目录 - /// - public static string GetYooStandaloneBuildinRoot() - { - if (string.IsNullOrEmpty(Setting.DefaultYooFolderName)) - return Application.streamingAssetsPath; - else - return PathUtility.Combine(Application.streamingAssetsPath, Setting.DefaultYooFolderName); - } - - /// - /// 获取YOO的移动端内置文件根目录 - /// - public static string GetYooMobileBuildinRoot() - { - if (string.IsNullOrEmpty(Setting.DefaultYooFolderName)) - return Application.streamingAssetsPath; - else - return PathUtility.Combine(Application.streamingAssetsPath, Setting.DefaultYooFolderName); - } - - /// - /// 获取YOO的Web端内置文件根目录 - /// - public static string GetYooWebBuildinRoot() - { - if (string.IsNullOrEmpty(Setting.DefaultYooFolderName)) - return Application.streamingAssetsPath; - else - return PathUtility.Combine(Application.streamingAssetsPath, Setting.DefaultYooFolderName); - } - /// /// 获取YOO的编辑器下缓存文件根目录 /// @@ -196,6 +152,31 @@ namespace YooAsset else return PathUtility.Combine(Application.persistentDataPath, Setting.DefaultYooFolderName); } + + /// + /// 获取YOO默认的缓存文件根目录 + /// + public static string GetYooDefaultCacheRoot() + { +#if UNITY_EDITOR + return GetYooEditorCacheRoot(); +#elif UNITY_STANDALONE + return GetYooStandaloneCacheRoot(); +#else + return GetYooMobileCacheRoot(); +#endif + } + + /// + /// 获取YOO默认的内置文件根目录 + /// + public static string GetYooDefaultBuildinRoot() + { + if (string.IsNullOrEmpty(Setting.DefaultYooFolderName)) + return Application.streamingAssetsPath; + else + return PathUtility.Combine(Application.streamingAssetsPath, Setting.DefaultYooFolderName); + } #endregion } } \ No newline at end of file