【m】框架大更新

This commit is contained in:
2025-10-31 11:18:23 +08:00
parent ae6e7c804b
commit 8e1d52ddbf
1883 changed files with 213934 additions and 640 deletions

View File

@@ -0,0 +1,98 @@
using System.Collections;
using UnityEngine;
namespace YooAsset
{
internal class FileSystemTester
{
public IEnumerator RunTester(IFileSystem fileSystem, string testLocation)
{
string packageName = fileSystem.PackageName;
// 初始化小游戏文件系统
Debug.Log("初始化小游戏文件系统!");
var initializeFileSystemOp = fileSystem.InitializeFileSystemAsync();
OperationSystem.StartOperation(packageName, initializeFileSystemOp);
yield return initializeFileSystemOp;
if (initializeFileSystemOp.Status != EOperationStatus.Succeed)
{
Debug.LogError($"初始化小游戏文件系统失败!{initializeFileSystemOp.Error}");
yield break;
}
// 请求资源版本
Debug.Log("请求资源版本信息!");
var requestPackageVersionOp = fileSystem.RequestPackageVersionAsync(true, 60);
OperationSystem.StartOperation(packageName, requestPackageVersionOp);
yield return requestPackageVersionOp;
if (requestPackageVersionOp.Status != EOperationStatus.Succeed)
{
Debug.LogError($"请求资源版本信息失败!{requestPackageVersionOp.Error}");
yield break;
}
// 请求资源清单
string packageVersion = requestPackageVersionOp.PackageVersion;
Debug.Log($"加载资源清单文件!{packageVersion}");
var loadPackageManifestOp = fileSystem.LoadPackageManifestAsync(packageVersion, 60);
OperationSystem.StartOperation(packageName, loadPackageManifestOp);
yield return loadPackageManifestOp;
if (loadPackageManifestOp.Status != EOperationStatus.Succeed)
{
Debug.LogError($"加载资源清单文件失败!{loadPackageManifestOp.Error}");
yield break;
}
// 预下载资源包
Debug.Log("预下载资源包!");
{
var manifest = loadPackageManifestOp.Manifest;
var packageBundle = GetPackageBundle(manifest, testLocation);
var options = new DownloadFileOptions(1);
var downloadFileOp = fileSystem.DownloadFileAsync(packageBundle, options);
OperationSystem.StartOperation(packageName, downloadFileOp);
yield return downloadFileOp;
if (downloadFileOp.Status != EOperationStatus.Succeed)
{
Debug.LogError($"预下载资源包失败!{downloadFileOp.Error}");
yield break;
}
else
{
Debug.Log("预下载资源包成功!");
}
}
// 加载资源包
Debug.Log("加载资源包!");
{
var manifest = loadPackageManifestOp.Manifest;
var packageBundle = GetPackageBundle(manifest, testLocation);
var loadBundleFileOp = fileSystem.LoadBundleFile(packageBundle);
OperationSystem.StartOperation(packageName, loadBundleFileOp);
yield return loadBundleFileOp;
if (loadBundleFileOp.Status != EOperationStatus.Succeed)
{
Debug.LogError($"加载资源包失败!{loadBundleFileOp.Error}");
yield break;
}
else
{
Debug.Log("加载资源包成功!");
}
// 卸载资源包
loadBundleFileOp.Result.UnloadBundleFile();
}
Debug.Log("完整测试成功!");
}
private PackageBundle GetPackageBundle(PackageManifest manifest, string location)
{
var assetInfo = manifest.ConvertLocationToAssetInfo(location, typeof(GameObject));
var packageBundle = manifest.GetMainPackageBundle(assetInfo.Asset);
return packageBundle;
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 19ed2b81fece5b84fa771a5eeb108572
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,49 @@
#if UNITY_WEBGL && DOUYINMINIGAME
using System.Collections;
using UnityEngine;
namespace YooAsset
{
internal class TiktokFileSystemTest : MonoBehaviour
{
private void Awake()
{
YooAssets.Initialize();
}
private IEnumerator Start()
{
string packageName = "DefaultPackage";
string testLocation = "asteroid01";
string hostServer = "http://127.0.0.1/CDN/WebGL/yoo";
string packageRoot = $"{StarkSDKSpace.StarkFileSystemManager.USER_DATA_PATH}/__GAME_FILE_CACHE";
IRemoteServices remoteServices = new RemoteServices(hostServer);
TiktokFileSystem fileSystem = new TiktokFileSystem();
fileSystem.SetParameter(FileSystemParametersDefine.REMOTE_SERVICES, remoteServices);
fileSystem.OnCreate(packageName, packageRoot);
FileSystemTester tester = new FileSystemTester();
yield return tester.RunTester(fileSystem, testLocation);
}
private class RemoteServices : IRemoteServices
{
private readonly string _hostServer;
public RemoteServices(string hostServer)
{
_hostServer = hostServer;
}
string IRemoteServices.GetRemoteMainURL(string fileName)
{
return $"{_hostServer}/{fileName}";
}
string IRemoteServices.GetRemoteFallbackURL(string fileName)
{
return $"{_hostServer}/{fileName}";
}
}
}
}
#endif

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: ec9d17e765ccd4642aa3aa9ca0580799
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,49 @@
#if UNITY_WEBGL && WEIXINMINIGAME
using System.Collections;
using UnityEngine;
namespace YooAsset
{
internal class WechatFileSystemTest : MonoBehaviour
{
private void Awake()
{
YooAssets.Initialize();
}
private IEnumerator Start()
{
string packageName = "DefaultPackage";
string testLocation = "asteroid01";
string hostServer = "http://127.0.0.1/CDN/WebGL/yoo";
string packageRoot = $"{WeChatWASM.WX.env.USER_DATA_PATH}/__GAME_FILE_CACHE";
IRemoteServices remoteServices = new RemoteServices(hostServer);
WechatFileSystem fileSystem = new WechatFileSystem();
fileSystem.SetParameter(FileSystemParametersDefine.REMOTE_SERVICES, remoteServices);
fileSystem.OnCreate(packageName, packageRoot);
FileSystemTester tester = new FileSystemTester();
yield return tester.RunTester(fileSystem, testLocation);
}
private class RemoteServices : IRemoteServices
{
private readonly string _hostServer;
public RemoteServices(string hostServer)
{
_hostServer = hostServer;
}
string IRemoteServices.GetRemoteMainURL(string fileName)
{
return $"{_hostServer}/{fileName}";
}
string IRemoteServices.GetRemoteFallbackURL(string fileName)
{
return $"{_hostServer}/{fileName}";
}
}
}
}
#endif

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 3036392c24e1a3b49b7628fbf6cc24d8
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: