三国卡牌客户端基础资源仓库
yyl
3 天以前 8a702f6469598f35467f6324d75cfc4256326bbd
元数据ensure
1个文件已修改
2个文件已添加
31 ■■■■■ 已修改文件
Assets/Launch/AOTRefSort.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Launch/AOTRefSort.cs.meta 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Launch/Launch.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Launch/AOTRefSort.cs
New file
@@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
/// <summary>
/// 为 List&lt;T&gt;.Sort(lambda) / Sort() 提供 AOT 泛型实例化兜底。
/// 按 HybridCLR 泛型共享规则,class 引用类型只需实例化 object 版本。
/// 若 HeroDebutGiftItem 之类是值类型,需额外添加精确版本。
/// </summary>
public static class AOTRefSort
{
    // 由 Launch.StartGame 调用,防止 IL2CPP 裁剪
    public static void Ensure()
    {
        // Sort(lambda) → 需要 Comparison<T>
        _ = new Comparison<object>((a, b) => 0);
        // Sort() 无参 → 需要 Comparer<T>.Default
        _ = Comparer<object>.Default;
    }
}
Assets/Launch/AOTRefSort.cs.meta
New file
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: f80df828080a7d041a94656a7312f67f
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Assets/Launch/Launch.cs
@@ -508,6 +508,7 @@
    private void StartGame()
    {
        TraceBegin("StartGame", "进入热更主流程");
        AOTRefSort.Ensure();
#if !UNITY_EDITOR
        LoadMetadataForAOTAssemblies();
        _hotUpdateAss = Assembly.Load(ReadBytesFromStreamingAssets("Main.dll.bytes"));