标签:启动 参数 坑点 需要 支持 初始化 ada 字符 不能
ILRuntime热更方案坑点
在热更工程中:
1.AddComponent需要限定好类型,不能用Type类型,会报错
2.GetComponent无法获取基类组件类型,无法找到时,需要在MonoBehaviorAdapter中添加遍历获取基类逻辑
3.Hotfix调用Unity中带参数的委托,需要注册委托参 RegisterMethodDelegate
4.强转Action委托类型as报错,使用(Action)XXX的方式去转换
5.尽可能不过多使用特性,反射,容易出问题。
6.继承自MonoBehavior的脚本声明处初始化不起作用,需要在Awake中去初始化
7.ref out关键字谨慎使用,比如传递ref/out 静态变量时,会报错。
8.Json解析必须要使用集成的LitJson库
9.重写父类方法时,不能使用virtual关键字,否则会执行两次,要使用override
10.Awake方法在AddComponent组件时调用一次,不论节点是否显示。此时需要在MonoBehaviorAdapter中加一层判断来规避此情况。
11.协程无法使用字符串启动,只支持参数为IEnumerator类型的方式启动或停止协程
12.ILRuntime不支持proto2,需要换成proto3,同时由于ILRuntime不认为ILRT里面跑的数据类型是枚举,导致无法把默认值转换为枚举,不能使用枚举(比如消息类型)
标签:启动 参数 坑点 需要 支持 初始化 ada 字符 不能
原文地址:https://www.cnblogs.com/Bright-King/p/11686947.html