【m】框架大更新
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 19ed2b81fece5b84fa771a5eeb108572
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -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
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ec9d17e765ccd4642aa3aa9ca0580799
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -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
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3036392c24e1a3b49b7628fbf6cc24d8
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user