<?xml version="1.0" encoding="utf-8"?>
|
<!-- 手动维护的 link.xml — 保留 HybridCLR 热更新 DLL 使用但引擎裁剪器看不到的类型 -->
|
<linker>
|
<!-- YooAsset FileSystem: FileSystemParameters.CreateFileSystem 通过反射实例化,必须保留构造函数 -->
|
<assembly fullname="YooAsset">
|
<!-- WebGL 标准构建 -->
|
<type fullname="YooAsset.DefaultWebServerFileSystem" preserve="all" />
|
<type fullname="YooAsset.DefaultWebRemoteFileSystem" preserve="all" />
|
<!-- 非 WebGL (HostPlayMode / OfflinePlayMode) -->
|
<type fullname="YooAsset.DefaultBuildinFileSystem" preserve="all" />
|
<type fullname="YooAsset.DefaultCacheFileSystem" preserve="all" />
|
</assembly>
|
|
<!-- AudioModule: 热更新 DLL 中使用 AudioSource/AudioMixer,引擎裁剪器无法静态分析到 -->
|
<assembly fullname="UnityEngine.AudioModule" preserve="all" />
|
|
<!-- VideoModule: VideoPlayer/VideoClip 仅在 Main (UIVideoPlayer.cs) 中使用, Launch 完全无引用 -->
|
<assembly fullname="UnityEngine.VideoModule" preserve="all" />
|
|
<!-- AnimationModule: Animator/AnimationClip 仅在 Main (EffectPlayer, BattleEffectPlayer, GameObjectPoolManager) 中使用 -->
|
<assembly fullname="UnityEngine.AnimationModule" preserve="all" />
|
|
<!-- ParticleSystemModule: ParticleSystem 仅在 Main (EffectPlayer, BattleEffectPlayer) 中使用 -->
|
<assembly fullname="UnityEngine.ParticleSystemModule" preserve="all" />
|
|
<!-- DownloadHandlerBuffer: UnityWebRequest.Get 内部默认使用,Launch 中 HttpBehaviour.cs 显式 new -->
|
<assembly fullname="UnityEngine.UnityWebRequestModule">
|
<type fullname="UnityEngine.Networking.DownloadHandlerBuffer" preserve="all" />
|
</assembly>
|
|
<!-- Main 热更新程序集:PackageRegedit 通过 Assembly.CreateInstance(typeName) 反射实例化所有
|
网络协议包类(H*/HA*/HB*/HC* 系列)及 DTC 业务处理类,链接器无法静态分析此调用,
|
必须整体保留,否则高裁剪级别会把构造函数/字段裁掉导致协议包无法实例化。 -->
|
<assembly fullname="Main" preserve="all" />
|
</linker>
|