using UnityEngine; using YooAsset; namespace Stary.Evo { public class YooAssetFileSystem { public static InitializeParameters OfflineInitializeParameter() { var buildinFileSystemParams = FileSystemParameters.CreateDefaultBuildinFileSystemParameters(); // ICopyLocalFileServices copyLocalFileServices = new CopyLocalFileServices(); // buildinFileSystemParams.AddParameter(FileSystemParametersDefine.COPY_LOCAL_FILE_SERVICES, copyLocalFileServices); var initParameters = new OfflinePlayModeParameters(); initParameters.BuildinFileSystemParameters = buildinFileSystemParams; return initParameters; } public static InitializeParameters HostInitializeParameter(string packageName) { var initParameters = new OfflinePlayModeParameters(); var buildinFileSystemParams = FileSystemParameters.CreateDefaultBuildinFileSystemParameters(null, $"{Application.temporaryCachePath}/DownloadedContent/{packageName}"); Debug.Log($"UnityEvo:Host InitializeParameterPath: 【{Application.temporaryCachePath}/DownloadedContent/{packageName}】"); buildinFileSystemParams.AddParameter(FileSystemParametersDefine.APPEND_FILE_EXTENSION, true); buildinFileSystemParams.AddParameter(FileSystemParametersDefine.COPY_BUILDIN_PACKAGE_MANIFEST, true); initParameters.BuildinFileSystemParameters = buildinFileSystemParams; return initParameters; } public static InitializeParameters WebInitializeParameter(string packageName, string defaultHostServer, string fallbackHostServer) { IRemoteServices remoteServices = new RemoteServices(defaultHostServer, fallbackHostServer); var webServerFileSystemParams = FileSystemParameters.CreateDefaultWebServerFileSystemParameters(); var webRemoteFileSystemParams = FileSystemParameters.CreateDefaultWebRemoteFileSystemParameters(remoteServices); //支持跨域下载 var initParameters = new WebPlayModeParameters(); initParameters.WebServerFileSystemParameters = webServerFileSystemParams; initParameters.WebRemoteFileSystemParameters = webRemoteFileSystemParams; return initParameters; } public static InitializeParameters EditorSimulateInitializeParameter(string packageName) { var buildResult = EditorSimulateModeHelper.SimulateBuild(packageName); var packageRoot = buildResult.PackageRootDirectory; var editorFileSystemParameters = FileSystemParameters.CreateDefaultEditorFileSystemParameters(packageRoot); // editorFileSystemParameters.AddParameter(FileSystemParametersDefine.VIRTUAL_DOWNLOAD_MODE, true); // int speed = 1024 * 1024; //单位:字节 // editorFileSystemParameters.AddParameter(FileSystemParametersDefine.VIRTUAL_DOWNLOAD_SPEED, speed); var initParams = new EditorSimulateModeParameters(); initParams.EditorFileSystemParameters = editorFileSystemParameters; return initParams; } } }