Files
plugin-library/Assets/00.StaryEvoTools/Runtime/Tools/YooAssetFileSystem.cs

67 lines
3.5 KiB
C#
Raw Normal View History

2025-07-02 10:05:26 +08:00
using UnityEngine;
using YooAsset;
namespace Stary.Evo
{
public class YooAssetFileSystem
{
public static InitializeParameters OfflineInitializeParameter()
{
var buildinFileSystemParams = FileSystemParameters.CreateDefaultBuildinFileSystemParameters();
2026-01-05 17:58:53 +08:00
// ICopyLocalFileServices copyLocalFileServices = new CopyLocalFileServices();
// buildinFileSystemParams.AddParameter(FileSystemParametersDefine.COPY_LOCAL_FILE_SERVICES, copyLocalFileServices);
2025-07-02 10:05:26 +08:00
var initParameters = new OfflinePlayModeParameters();
initParameters.BuildinFileSystemParameters = buildinFileSystemParams;
return initParameters;
}
2026-04-21 10:19:03 +08:00
2026-01-07 18:20:13 +08:00
public static InitializeParameters HostInitializeParameter(string packageName)
2025-07-02 10:05:26 +08:00
{
var initParameters = new OfflinePlayModeParameters();
var buildinFileSystemParams = FileSystemParameters.CreateDefaultBuildinFileSystemParameters(null,
2026-01-07 18:20:13 +08:00
$"{Application.temporaryCachePath}/DownloadedContent/{packageName}");
2026-04-21 10:19:03 +08:00
Debug.Log(
$"UnityEvo:Host InitializeParameterPath: 【{Application.temporaryCachePath}/DownloadedContent/{packageName}】");
2025-07-02 10:05:26 +08:00
buildinFileSystemParams.AddParameter(FileSystemParametersDefine.APPEND_FILE_EXTENSION, true);
buildinFileSystemParams.AddParameter(FileSystemParametersDefine.COPY_BUILDIN_PACKAGE_MANIFEST, true);
2026-04-21 10:19:03 +08:00
initParameters.BuildinFileSystemParameters = buildinFileSystemParams;
2025-07-02 10:05:26 +08:00
return initParameters;
}
2026-04-21 10:19:03 +08:00
public static InitializeParameters WebInitializeParameter(string packageName, string defaultHostServer,
string fallbackHostServer)
2026-04-18 01:00:51 +08:00
{
IRemoteServices remoteServices = new RemoteServices(defaultHostServer, fallbackHostServer);
2026-04-18 15:00:38 +08:00
//var webServerFileSystemParams = FileSystemParameters.CreateDefaultWebServerFileSystemParameters();
2026-04-18 23:35:35 +08:00
#if UNITY_WEBGL&&WEB_PLAYMODE
2026-04-21 10:19:03 +08:00
var webRemoteFileSystemParams =
FileSystemParameters.CreateDefaultWebRemoteFileSystemParameters(remoteServices); //支持跨域下载
2026-04-18 23:35:35 +08:00
#elif UNITY_WEBGL && WEIXINMINIGAME
string packageRoot = $"{WeChatWASM.WX.env.USER_DATA_PATH}/__GAME_FILE_CACHE";
2026-04-21 10:19:03 +08:00
var webRemoteFileSystemParams =
WechatFileSystemCreater.CreateFileSystemParameters(packageRoot, remoteServices);
2026-04-18 23:35:35 +08:00
#endif
2026-04-21 10:19:03 +08:00
2026-04-18 01:00:51 +08:00
var initParameters = new WebPlayModeParameters();
2026-04-21 10:19:03 +08:00
#if UNITY_WEBGL
2026-04-18 15:00:38 +08:00
//initParameters.WebServerFileSystemParameters = webRemoteFileSystemParams;
2026-04-18 01:00:51 +08:00
initParameters.WebRemoteFileSystemParameters = webRemoteFileSystemParams;
2026-04-21 10:19:03 +08:00
#endif
2026-04-18 01:00:51 +08:00
return initParameters;
}
2026-04-21 10:19:03 +08:00
2025-09-18 18:25:40 +08:00
public static InitializeParameters EditorSimulateInitializeParameter(string packageName)
2025-07-02 10:05:26 +08:00
{
2025-09-18 18:25:40 +08:00
var buildResult = EditorSimulateModeHelper.SimulateBuild(packageName);
2025-07-02 10:05:26 +08:00
var packageRoot = buildResult.PackageRootDirectory;
var editorFileSystemParameters = FileSystemParameters.CreateDefaultEditorFileSystemParameters(packageRoot);
2025-10-31 11:18:23 +08:00
// editorFileSystemParameters.AddParameter(FileSystemParametersDefine.VIRTUAL_DOWNLOAD_MODE, true);
// int speed = 1024 * 1024; //单位:字节
// editorFileSystemParameters.AddParameter(FileSystemParametersDefine.VIRTUAL_DOWNLOAD_SPEED, speed);
2025-07-02 10:05:26 +08:00
var initParams = new EditorSimulateModeParameters();
2025-10-31 11:18:23 +08:00
initParams.EditorFileSystemParameters = editorFileSystemParameters;
2025-07-02 10:05:26 +08:00
return initParams;
}
}
}