mirror of https://github.com/tuyoogame/YooAsset
parent
e6397559ff
commit
37f0d1e5a1
|
@ -45,7 +45,7 @@ namespace YooAsset
|
||||||
{
|
{
|
||||||
// BundleFiles
|
// BundleFiles
|
||||||
{
|
{
|
||||||
string rootPath = PersistentHelper.GetCachedBundleFileFolderPath(_packageName);
|
string rootPath = PersistentTools.GetCachedBundleFileFolderPath(_packageName);
|
||||||
DirectoryInfo rootDirectory = new DirectoryInfo(rootPath);
|
DirectoryInfo rootDirectory = new DirectoryInfo(rootPath);
|
||||||
if (rootDirectory.Exists)
|
if (rootDirectory.Exists)
|
||||||
{
|
{
|
||||||
|
@ -56,7 +56,7 @@ namespace YooAsset
|
||||||
|
|
||||||
// RawFiles
|
// RawFiles
|
||||||
{
|
{
|
||||||
string rootPath = PersistentHelper.GetCachedRawFileFolderPath(_packageName);
|
string rootPath = PersistentTools.GetCachedRawFileFolderPath(_packageName);
|
||||||
DirectoryInfo rootDirectory = new DirectoryInfo(rootPath);
|
DirectoryInfo rootDirectory = new DirectoryInfo(rootPath);
|
||||||
if (rootDirectory.Exists)
|
if (rootDirectory.Exists)
|
||||||
{
|
{
|
||||||
|
|
|
@ -3,14 +3,59 @@ using System.Collections.Generic;
|
||||||
|
|
||||||
namespace YooAsset
|
namespace YooAsset
|
||||||
{
|
{
|
||||||
/// <summary>
|
internal static class PersistentTools
|
||||||
/// 资源路径帮助类
|
|
||||||
/// </summary>
|
|
||||||
internal static class PathHelper
|
|
||||||
{
|
{
|
||||||
|
private const string CacheFolderName = "CacheFiles";
|
||||||
|
private const string CachedBundleFileFolder = "BundleFiles";
|
||||||
|
private const string CachedRawFileFolder = "RawFiles";
|
||||||
|
private const string ManifestFolderName = "ManifestFiles";
|
||||||
|
private const string AppFootPrintFileName = "ApplicationFootPrint.bytes";
|
||||||
|
|
||||||
private static string _buildinPath;
|
private static string _buildinPath;
|
||||||
private static string _sandboxPath;
|
private static string _sandboxPath;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写沙盒跟路径
|
||||||
|
/// </summary>
|
||||||
|
public static void OverwriteSandboxPath(string sandboxPath)
|
||||||
|
{
|
||||||
|
_sandboxPath = sandboxPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取沙盒文件夹路径
|
||||||
|
/// </summary>
|
||||||
|
public static string GetPersistentRootPath()
|
||||||
|
{
|
||||||
|
#if UNITY_EDITOR
|
||||||
|
// 注意:为了方便调试查看,编辑器下把存储目录放到项目里
|
||||||
|
if (string.IsNullOrEmpty(_sandboxPath))
|
||||||
|
{
|
||||||
|
string directory = Path.GetDirectoryName(UnityEngine.Application.dataPath);
|
||||||
|
string projectPath = GetRegularPath(directory);
|
||||||
|
_sandboxPath = StringUtility.Format("{0}/Sandbox", projectPath);
|
||||||
|
}
|
||||||
|
#elif UNITY_STANDALONE
|
||||||
|
if (string.IsNullOrEmpty(_sandboxPath))
|
||||||
|
{
|
||||||
|
_sandboxPath = StringUtility.Format("{0}/Sandbox", UnityEngine.Application.dataPath);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
if (string.IsNullOrEmpty(_sandboxPath))
|
||||||
|
{
|
||||||
|
_sandboxPath = StringUtility.Format("{0}/Sandbox", UnityEngine.Application.persistentDataPath);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return _sandboxPath;
|
||||||
|
}
|
||||||
|
private static string GetRegularPath(string path)
|
||||||
|
{
|
||||||
|
return path.Replace('\\', '/').Replace("\\", "/"); //替换为Linux路径格式
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取基于流文件夹的加载路径
|
/// 获取基于流文件夹的加载路径
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -32,33 +77,6 @@ namespace YooAsset
|
||||||
return StringUtility.Format("{0}/{1}", root, path);
|
return StringUtility.Format("{0}/{1}", root, path);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 获取沙盒文件夹路径
|
|
||||||
/// </summary>
|
|
||||||
public static string GetPersistentRootPath()
|
|
||||||
{
|
|
||||||
#if UNITY_EDITOR
|
|
||||||
// 注意:为了方便调试查看,编辑器下把存储目录放到项目里
|
|
||||||
if (string.IsNullOrEmpty(_sandboxPath))
|
|
||||||
{
|
|
||||||
string directory = Path.GetDirectoryName(UnityEngine.Application.dataPath);
|
|
||||||
string projectPath = GetRegularPath(directory);
|
|
||||||
_sandboxPath = StringUtility.Format("{0}/Sandbox", projectPath);
|
|
||||||
}
|
|
||||||
return _sandboxPath;
|
|
||||||
#else
|
|
||||||
if (string.IsNullOrEmpty(_sandboxPath))
|
|
||||||
{
|
|
||||||
_sandboxPath = StringUtility.Format("{0}/Sandbox", UnityEngine.Application.persistentDataPath);
|
|
||||||
}
|
|
||||||
return _sandboxPath;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
private static string GetRegularPath(string path)
|
|
||||||
{
|
|
||||||
return path.Replace('\\', '/').Replace("\\", "/"); //替换为Linux路径格式
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取WWW加载本地资源的路径
|
/// 获取WWW加载本地资源的路径
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -76,18 +94,6 @@ namespace YooAsset
|
||||||
return path;
|
return path;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 持久化目录帮助类
|
|
||||||
/// </summary>
|
|
||||||
internal static class PersistentHelper
|
|
||||||
{
|
|
||||||
private const string CacheFolderName = "CacheFiles";
|
|
||||||
private const string CachedBundleFileFolder = "BundleFiles";
|
|
||||||
private const string CachedRawFileFolder = "RawFiles";
|
|
||||||
private const string ManifestFolderName = "ManifestFiles";
|
|
||||||
private const string AppFootPrintFileName = "ApplicationFootPrint.bytes";
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -95,7 +101,7 @@ namespace YooAsset
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static void DeleteSandbox()
|
public static void DeleteSandbox()
|
||||||
{
|
{
|
||||||
string directoryPath = PathHelper.MakePersistentLoadPath(string.Empty);
|
string directoryPath = MakePersistentLoadPath(string.Empty);
|
||||||
if (Directory.Exists(directoryPath))
|
if (Directory.Exists(directoryPath))
|
||||||
Directory.Delete(directoryPath, true);
|
Directory.Delete(directoryPath, true);
|
||||||
}
|
}
|
||||||
|
@ -105,7 +111,7 @@ namespace YooAsset
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static void DeleteCacheFolder()
|
public static void DeleteCacheFolder()
|
||||||
{
|
{
|
||||||
string root = PathHelper.MakePersistentLoadPath(CacheFolderName);
|
string root = MakePersistentLoadPath(CacheFolderName);
|
||||||
if (Directory.Exists(root))
|
if (Directory.Exists(root))
|
||||||
Directory.Delete(root, true);
|
Directory.Delete(root, true);
|
||||||
}
|
}
|
||||||
|
@ -115,7 +121,7 @@ namespace YooAsset
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static void DeleteManifestFolder()
|
public static void DeleteManifestFolder()
|
||||||
{
|
{
|
||||||
string root = PathHelper.MakePersistentLoadPath(ManifestFolderName);
|
string root = MakePersistentLoadPath(ManifestFolderName);
|
||||||
if (Directory.Exists(root))
|
if (Directory.Exists(root))
|
||||||
Directory.Delete(root, true);
|
Directory.Delete(root, true);
|
||||||
}
|
}
|
||||||
|
@ -129,7 +135,7 @@ namespace YooAsset
|
||||||
{
|
{
|
||||||
if (_cachedBundleFileFolder.TryGetValue(packageName, out string value) == false)
|
if (_cachedBundleFileFolder.TryGetValue(packageName, out string value) == false)
|
||||||
{
|
{
|
||||||
string root = PathHelper.MakePersistentLoadPath(CacheFolderName);
|
string root = MakePersistentLoadPath(CacheFolderName);
|
||||||
value = $"{root}/{packageName}/{CachedBundleFileFolder}";
|
value = $"{root}/{packageName}/{CachedBundleFileFolder}";
|
||||||
_cachedBundleFileFolder.Add(packageName, value);
|
_cachedBundleFileFolder.Add(packageName, value);
|
||||||
}
|
}
|
||||||
|
@ -144,7 +150,7 @@ namespace YooAsset
|
||||||
{
|
{
|
||||||
if (_cachedRawFileFolder.TryGetValue(packageName, out string value) == false)
|
if (_cachedRawFileFolder.TryGetValue(packageName, out string value) == false)
|
||||||
{
|
{
|
||||||
string root = PathHelper.MakePersistentLoadPath(CacheFolderName);
|
string root = MakePersistentLoadPath(CacheFolderName);
|
||||||
value = $"{root}/{packageName}/{CachedRawFileFolder}";
|
value = $"{root}/{packageName}/{CachedRawFileFolder}";
|
||||||
_cachedRawFileFolder.Add(packageName, value);
|
_cachedRawFileFolder.Add(packageName, value);
|
||||||
}
|
}
|
||||||
|
@ -156,7 +162,7 @@ namespace YooAsset
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static string GetAppFootPrintFilePath()
|
public static string GetAppFootPrintFilePath()
|
||||||
{
|
{
|
||||||
return PathHelper.MakePersistentLoadPath(AppFootPrintFileName);
|
return MakePersistentLoadPath(AppFootPrintFileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -165,7 +171,7 @@ namespace YooAsset
|
||||||
public static string GetCacheManifestFilePath(string packageName, string packageVersion)
|
public static string GetCacheManifestFilePath(string packageName, string packageVersion)
|
||||||
{
|
{
|
||||||
string fileName = YooAssetSettingsData.GetManifestBinaryFileName(packageName, packageVersion);
|
string fileName = YooAssetSettingsData.GetManifestBinaryFileName(packageName, packageVersion);
|
||||||
return PathHelper.MakePersistentLoadPath($"{ManifestFolderName}/{fileName}");
|
return MakePersistentLoadPath($"{ManifestFolderName}/{fileName}");
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -174,7 +180,7 @@ namespace YooAsset
|
||||||
public static string GetCachePackageHashFilePath(string packageName, string packageVersion)
|
public static string GetCachePackageHashFilePath(string packageName, string packageVersion)
|
||||||
{
|
{
|
||||||
string fileName = YooAssetSettingsData.GetPackageHashFileName(packageName, packageVersion);
|
string fileName = YooAssetSettingsData.GetPackageHashFileName(packageName, packageVersion);
|
||||||
return PathHelper.MakePersistentLoadPath($"{ManifestFolderName}/{fileName}");
|
return MakePersistentLoadPath($"{ManifestFolderName}/{fileName}");
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -183,7 +189,7 @@ namespace YooAsset
|
||||||
public static string GetCachePackageVersionFilePath(string packageName)
|
public static string GetCachePackageVersionFilePath(string packageName)
|
||||||
{
|
{
|
||||||
string fileName = YooAssetSettingsData.GetPackageVersionFileName(packageName);
|
string fileName = YooAssetSettingsData.GetPackageVersionFileName(packageName);
|
||||||
return PathHelper.MakePersistentLoadPath($"{ManifestFolderName}/{fileName}");
|
return MakePersistentLoadPath($"{ManifestFolderName}/{fileName}");
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
|
@ -193,7 +193,7 @@ namespace YooAsset
|
||||||
public static BundleInfo GetUnpackInfo(PackageBundle packageBundle)
|
public static BundleInfo GetUnpackInfo(PackageBundle packageBundle)
|
||||||
{
|
{
|
||||||
// 注意:我们把流加载路径指定为远端下载地址
|
// 注意:我们把流加载路径指定为远端下载地址
|
||||||
string streamingPath = PathHelper.ConvertToWWWPath(packageBundle.StreamingFilePath);
|
string streamingPath = PersistentTools.ConvertToWWWPath(packageBundle.StreamingFilePath);
|
||||||
BundleInfo bundleInfo = new BundleInfo(packageBundle, BundleInfo.ELoadMode.LoadFromStreaming, streamingPath, streamingPath);
|
BundleInfo bundleInfo = new BundleInfo(packageBundle, BundleInfo.ELoadMode.LoadFromStreaming, streamingPath, streamingPath);
|
||||||
return bundleInfo;
|
return bundleInfo;
|
||||||
}
|
}
|
||||||
|
|
|
@ -222,7 +222,7 @@ namespace YooAsset
|
||||||
// 如果水印发生变化,则说明覆盖安装后首次打开游戏
|
// 如果水印发生变化,则说明覆盖安装后首次打开游戏
|
||||||
if (appFootPrint.IsDirty())
|
if (appFootPrint.IsDirty())
|
||||||
{
|
{
|
||||||
PersistentHelper.DeleteManifestFolder();
|
PersistentTools.DeleteManifestFolder();
|
||||||
appFootPrint.Coverage();
|
appFootPrint.Coverage();
|
||||||
YooLogger.Log("Delete manifest files when application foot print dirty !");
|
YooLogger.Log("Delete manifest files when application foot print dirty !");
|
||||||
}
|
}
|
||||||
|
@ -376,7 +376,7 @@ namespace YooAsset
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void Load()
|
public void Load()
|
||||||
{
|
{
|
||||||
string footPrintFilePath = PersistentHelper.GetAppFootPrintFilePath();
|
string footPrintFilePath = PersistentTools.GetAppFootPrintFilePath();
|
||||||
if (File.Exists(footPrintFilePath))
|
if (File.Exists(footPrintFilePath))
|
||||||
{
|
{
|
||||||
_footPrint = FileUtility.ReadAllText(footPrintFilePath);
|
_footPrint = FileUtility.ReadAllText(footPrintFilePath);
|
||||||
|
@ -409,7 +409,7 @@ namespace YooAsset
|
||||||
#else
|
#else
|
||||||
_footPrint = Application.buildGUID;
|
_footPrint = Application.buildGUID;
|
||||||
#endif
|
#endif
|
||||||
string footPrintFilePath = PersistentHelper.GetAppFootPrintFilePath();
|
string footPrintFilePath = PersistentTools.GetAppFootPrintFilePath();
|
||||||
FileUtility.CreateFile(footPrintFilePath, _footPrint);
|
FileUtility.CreateFile(footPrintFilePath, _footPrint);
|
||||||
YooLogger.Log($"Save application foot print : {_footPrint}");
|
YooLogger.Log($"Save application foot print : {_footPrint}");
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,7 +41,7 @@ namespace YooAsset
|
||||||
{
|
{
|
||||||
if (_downloader1 == null)
|
if (_downloader1 == null)
|
||||||
{
|
{
|
||||||
string savePath = PersistentHelper.GetCachePackageHashFilePath(_packageName, _packageVersion);
|
string savePath = PersistentTools.GetCachePackageHashFilePath(_packageName, _packageVersion);
|
||||||
string fileName = YooAssetSettingsData.GetPackageHashFileName(_packageName, _packageVersion);
|
string fileName = YooAssetSettingsData.GetPackageHashFileName(_packageName, _packageVersion);
|
||||||
string webURL = GetDownloadRequestURL(fileName);
|
string webURL = GetDownloadRequestURL(fileName);
|
||||||
YooLogger.Log($"Beginning to download package hash file : {webURL}");
|
YooLogger.Log($"Beginning to download package hash file : {webURL}");
|
||||||
|
@ -71,7 +71,7 @@ namespace YooAsset
|
||||||
{
|
{
|
||||||
if (_downloader2 == null)
|
if (_downloader2 == null)
|
||||||
{
|
{
|
||||||
string savePath = PersistentHelper.GetCacheManifestFilePath(_packageName, _packageVersion);
|
string savePath = PersistentTools.GetCacheManifestFilePath(_packageName, _packageVersion);
|
||||||
string fileName = YooAssetSettingsData.GetManifestBinaryFileName(_packageName, _packageVersion);
|
string fileName = YooAssetSettingsData.GetManifestBinaryFileName(_packageName, _packageVersion);
|
||||||
string webURL = GetDownloadRequestURL(fileName);
|
string webURL = GetDownloadRequestURL(fileName);
|
||||||
YooLogger.Log($"Beginning to download manifest file : {webURL}");
|
YooLogger.Log($"Beginning to download manifest file : {webURL}");
|
||||||
|
|
|
@ -42,8 +42,8 @@ namespace YooAsset
|
||||||
if (_downloader == null)
|
if (_downloader == null)
|
||||||
{
|
{
|
||||||
string fileName = YooAssetSettingsData.GetManifestBinaryFileName(_buildinPackageName, _buildinPackageVersion);
|
string fileName = YooAssetSettingsData.GetManifestBinaryFileName(_buildinPackageName, _buildinPackageVersion);
|
||||||
string filePath = PathHelper.MakeStreamingLoadPath(fileName);
|
string filePath = PersistentTools.MakeStreamingLoadPath(fileName);
|
||||||
string url = PathHelper.ConvertToWWWPath(filePath);
|
string url = PersistentTools.ConvertToWWWPath(filePath);
|
||||||
_downloader = new UnityWebDataRequester();
|
_downloader = new UnityWebDataRequester();
|
||||||
_downloader.SendRequest(url);
|
_downloader.SendRequest(url);
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,7 +67,7 @@ namespace YooAsset
|
||||||
|
|
||||||
if (_steps == ESteps.VerifyFileHash)
|
if (_steps == ESteps.VerifyFileHash)
|
||||||
{
|
{
|
||||||
_manifestFilePath = PersistentHelper.GetCacheManifestFilePath(_packageName, _packageVersion);
|
_manifestFilePath = PersistentTools.GetCacheManifestFilePath(_packageName, _packageVersion);
|
||||||
if (File.Exists(_manifestFilePath) == false)
|
if (File.Exists(_manifestFilePath) == false)
|
||||||
{
|
{
|
||||||
_steps = ESteps.Done;
|
_steps = ESteps.Done;
|
||||||
|
@ -131,7 +131,7 @@ namespace YooAsset
|
||||||
File.Delete(_manifestFilePath);
|
File.Delete(_manifestFilePath);
|
||||||
}
|
}
|
||||||
|
|
||||||
string hashFilePath = PersistentHelper.GetCachePackageHashFilePath(_packageName, _packageVersion);
|
string hashFilePath = PersistentTools.GetCachePackageHashFilePath(_packageName, _packageVersion);
|
||||||
if (File.Exists(hashFilePath))
|
if (File.Exists(hashFilePath))
|
||||||
{
|
{
|
||||||
File.Delete(hashFilePath);
|
File.Delete(hashFilePath);
|
||||||
|
|
|
@ -38,8 +38,8 @@ namespace YooAsset
|
||||||
if (_downloader == null)
|
if (_downloader == null)
|
||||||
{
|
{
|
||||||
string fileName = YooAssetSettingsData.GetPackageVersionFileName(_packageName);
|
string fileName = YooAssetSettingsData.GetPackageVersionFileName(_packageName);
|
||||||
string filePath = PathHelper.MakeStreamingLoadPath(fileName);
|
string filePath = PersistentTools.MakeStreamingLoadPath(fileName);
|
||||||
string url = PathHelper.ConvertToWWWPath(filePath);
|
string url = PersistentTools.ConvertToWWWPath(filePath);
|
||||||
_downloader = new UnityWebDataRequester();
|
_downloader = new UnityWebDataRequester();
|
||||||
_downloader.SendRequest(url);
|
_downloader.SendRequest(url);
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,7 +37,7 @@ namespace YooAsset
|
||||||
|
|
||||||
if (_steps == ESteps.LoadCachePackageHashFile)
|
if (_steps == ESteps.LoadCachePackageHashFile)
|
||||||
{
|
{
|
||||||
string filePath = PersistentHelper.GetCachePackageHashFilePath(_packageName, _packageVersion);
|
string filePath = PersistentTools.GetCachePackageHashFilePath(_packageName, _packageVersion);
|
||||||
if (File.Exists(filePath) == false)
|
if (File.Exists(filePath) == false)
|
||||||
{
|
{
|
||||||
_steps = ESteps.Done;
|
_steps = ESteps.Done;
|
||||||
|
|
|
@ -35,7 +35,7 @@ namespace YooAsset
|
||||||
|
|
||||||
if (_steps == ESteps.LoadCachePackageVersionFile)
|
if (_steps == ESteps.LoadCachePackageVersionFile)
|
||||||
{
|
{
|
||||||
string filePath = PersistentHelper.GetCachePackageVersionFilePath(_packageName);
|
string filePath = PersistentTools.GetCachePackageVersionFilePath(_packageName);
|
||||||
if (File.Exists(filePath) == false)
|
if (File.Exists(filePath) == false)
|
||||||
{
|
{
|
||||||
_steps = ESteps.Done;
|
_steps = ESteps.Done;
|
||||||
|
|
|
@ -35,10 +35,10 @@ namespace YooAsset
|
||||||
{
|
{
|
||||||
if (_downloader1 == null)
|
if (_downloader1 == null)
|
||||||
{
|
{
|
||||||
string savePath = PersistentHelper.GetCachePackageHashFilePath(_buildinPackageName, _buildinPackageVersion);
|
string savePath = PersistentTools.GetCachePackageHashFilePath(_buildinPackageName, _buildinPackageVersion);
|
||||||
string fileName = YooAssetSettingsData.GetPackageHashFileName(_buildinPackageName, _buildinPackageVersion);
|
string fileName = YooAssetSettingsData.GetPackageHashFileName(_buildinPackageName, _buildinPackageVersion);
|
||||||
string filePath = PathHelper.MakeStreamingLoadPath(fileName);
|
string filePath = PersistentTools.MakeStreamingLoadPath(fileName);
|
||||||
string url = PathHelper.ConvertToWWWPath(filePath);
|
string url = PersistentTools.ConvertToWWWPath(filePath);
|
||||||
_downloader1 = new UnityWebFileRequester();
|
_downloader1 = new UnityWebFileRequester();
|
||||||
_downloader1.SendRequest(url, savePath);
|
_downloader1.SendRequest(url, savePath);
|
||||||
}
|
}
|
||||||
|
@ -64,10 +64,10 @@ namespace YooAsset
|
||||||
{
|
{
|
||||||
if (_downloader2 == null)
|
if (_downloader2 == null)
|
||||||
{
|
{
|
||||||
string savePath = PersistentHelper.GetCacheManifestFilePath(_buildinPackageName, _buildinPackageVersion);
|
string savePath = PersistentTools.GetCacheManifestFilePath(_buildinPackageName, _buildinPackageVersion);
|
||||||
string fileName = YooAssetSettingsData.GetManifestBinaryFileName(_buildinPackageName, _buildinPackageVersion);
|
string fileName = YooAssetSettingsData.GetManifestBinaryFileName(_buildinPackageName, _buildinPackageVersion);
|
||||||
string filePath = PathHelper.MakeStreamingLoadPath(fileName);
|
string filePath = PersistentTools.MakeStreamingLoadPath(fileName);
|
||||||
string url = PathHelper.ConvertToWWWPath(filePath);
|
string url = PersistentTools.ConvertToWWWPath(filePath);
|
||||||
_downloader2 = new UnityWebFileRequester();
|
_downloader2 = new UnityWebFileRequester();
|
||||||
_downloader2.SendRequest(url, savePath);
|
_downloader2.SendRequest(url, savePath);
|
||||||
}
|
}
|
||||||
|
|
|
@ -74,12 +74,12 @@ namespace YooAsset
|
||||||
string folderName = FileHash.Substring(0, 2);
|
string folderName = FileHash.Substring(0, 2);
|
||||||
if (IsRawFile)
|
if (IsRawFile)
|
||||||
{
|
{
|
||||||
string cacheRoot = PersistentHelper.GetCachedRawFileFolderPath(PackageName);
|
string cacheRoot = PersistentTools.GetCachedRawFileFolderPath(PackageName);
|
||||||
_cachedDataFilePath = $"{cacheRoot}/{folderName}/{CacheGUID}/{YooAssetSettings.CacheBundleDataFileName}{_fileExtension}";
|
_cachedDataFilePath = $"{cacheRoot}/{folderName}/{CacheGUID}/{YooAssetSettings.CacheBundleDataFileName}{_fileExtension}";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
string cacheRoot = PersistentHelper.GetCachedBundleFileFolderPath(PackageName);
|
string cacheRoot = PersistentTools.GetCachedBundleFileFolderPath(PackageName);
|
||||||
_cachedDataFilePath = $"{cacheRoot}/{folderName}/{CacheGUID}/{YooAssetSettings.CacheBundleDataFileName}";
|
_cachedDataFilePath = $"{cacheRoot}/{folderName}/{CacheGUID}/{YooAssetSettings.CacheBundleDataFileName}";
|
||||||
}
|
}
|
||||||
return _cachedDataFilePath;
|
return _cachedDataFilePath;
|
||||||
|
@ -100,12 +100,12 @@ namespace YooAsset
|
||||||
string folderName = FileHash.Substring(0, 2);
|
string folderName = FileHash.Substring(0, 2);
|
||||||
if (IsRawFile)
|
if (IsRawFile)
|
||||||
{
|
{
|
||||||
string cacheRoot = PersistentHelper.GetCachedRawFileFolderPath(PackageName);
|
string cacheRoot = PersistentTools.GetCachedRawFileFolderPath(PackageName);
|
||||||
_cachedInfoFilePath = $"{cacheRoot}/{folderName}/{CacheGUID}/{YooAssetSettings.CacheBundleInfoFileName}";
|
_cachedInfoFilePath = $"{cacheRoot}/{folderName}/{CacheGUID}/{YooAssetSettings.CacheBundleInfoFileName}";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
string cacheRoot = PersistentHelper.GetCachedBundleFileFolderPath(PackageName);
|
string cacheRoot = PersistentTools.GetCachedBundleFileFolderPath(PackageName);
|
||||||
_cachedInfoFilePath = $"{cacheRoot}/{folderName}/{CacheGUID}/{YooAssetSettings.CacheBundleInfoFileName}";
|
_cachedInfoFilePath = $"{cacheRoot}/{folderName}/{CacheGUID}/{YooAssetSettings.CacheBundleInfoFileName}";
|
||||||
}
|
}
|
||||||
return _cachedInfoFilePath;
|
return _cachedInfoFilePath;
|
||||||
|
@ -139,7 +139,7 @@ namespace YooAsset
|
||||||
if (string.IsNullOrEmpty(_streamingFilePath) == false)
|
if (string.IsNullOrEmpty(_streamingFilePath) == false)
|
||||||
return _streamingFilePath;
|
return _streamingFilePath;
|
||||||
|
|
||||||
_streamingFilePath = PathHelper.MakeStreamingLoadPath(FileName);
|
_streamingFilePath = PersistentTools.MakeStreamingLoadPath(FileName);
|
||||||
return _streamingFilePath;
|
return _streamingFilePath;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -93,7 +93,7 @@ namespace YooAsset
|
||||||
public void FlushManifestVersionFile()
|
public void FlushManifestVersionFile()
|
||||||
{
|
{
|
||||||
if (_activeManifest != null)
|
if (_activeManifest != null)
|
||||||
PersistentHelper.SaveCachePackageVersionFile(_packageName, _activeManifest.PackageVersion);
|
PersistentTools.SaveCachePackageVersionFile(_packageName, _activeManifest.PackageVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool IsBuildinPackageBundle(PackageBundle packageBundle)
|
private bool IsBuildinPackageBundle(PackageBundle packageBundle)
|
||||||
|
|
|
@ -234,6 +234,27 @@ namespace YooAsset
|
||||||
{
|
{
|
||||||
CacheSystem.InitVerifyLevel = verifyLevel;
|
CacheSystem.InitVerifyLevel = verifyLevel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 设置缓存系统参数,沙盒目录的存储路径
|
||||||
|
/// </summary>
|
||||||
|
public static void SetCacheSystemSandboxPath(string sandboxPath)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(sandboxPath))
|
||||||
|
{
|
||||||
|
YooLogger.Error($"Sandbox path is null or empty !");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 注意:需要确保没有任何资源系统起效之前才可以设置沙盒目录!
|
||||||
|
if (_packages.Count > 0)
|
||||||
|
{
|
||||||
|
YooLogger.Error($"Please call this method {nameof(SetCacheSystemSandboxPath)} before the package is created !");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
PersistentTools.OverwriteSandboxPath(sandboxPath);
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region 沙盒相关
|
#region 沙盒相关
|
||||||
|
@ -250,7 +271,7 @@ namespace YooAsset
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static string GetSandboxRoot()
|
public static string GetSandboxRoot()
|
||||||
{
|
{
|
||||||
return PathHelper.GetPersistentRootPath();
|
return PersistentTools.GetPersistentRootPath();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -259,7 +280,7 @@ namespace YooAsset
|
||||||
public static void ClearSandbox()
|
public static void ClearSandbox()
|
||||||
{
|
{
|
||||||
YooLogger.Warning("Clear sandbox folder files, Finally, restart the application !");
|
YooLogger.Warning("Clear sandbox folder files, Finally, restart the application !");
|
||||||
PersistentHelper.DeleteSandbox();
|
PersistentTools.DeleteSandbox();
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue