HybroidCLR加载器
HybroidCLR加载器允许您在运行时加载必要数据。
HybridCLRLoader 内置了预编译指令,这使得您无需在项目中额外定义预编译指令,减少代码复杂度。
示例
以下代码演示如何使用 HybridCLRLoader 加载 HybroidCLR。 此示例使用 winS.Unity.ResourceManagement 从远端获取资源,但您可以使用任意资源热更新解决方案(例如YooAsset),其步骤均一致:
- 从远端下载所有泛型元数据程序集数据和热更新程序集数据;
- 使用 HybridCLRLoader 加载泛型元数据程序集数据;
- 使用 HybridCLRLoader 加载热更新程序集数据;
using System.Collections.Generic;
using UnityEngine;
using winS.Unity.HybridCLR;
using winS.Unity.ResourceManagement;
namespace ProjectC.Bootstrap
{
internal sealed class Main : MonoBehaviour
{
private async void Start()
{
await Resource.UpdateCatalogs();
await Resource.DownloadResources("Launch");
IList<TextAsset> aotMetadataAssemblyList = await Resource.LoadAssetsAsync<TextAsset>("AOTMetadataAssembly");
IList<TextAsset> hotUpdateAssemblyList = await Resource.LoadAssetsAsync<TextAsset>("HotUpdateAssembly");
HybridCLRLoader.LoadAOTMetadataAssembliesFromTextAssets(aotMetadataAssemblyList);
HybridCLRLoader.LoadHotUpdateAssembliesFromTextAssets(hotUpdateAssemblyList);
Resource.Release(aotMetadataAssemblyList);
Resource.Release(hotUpdateAssemblyList);
}
}
}