hotfix接入,请查看上一篇:xLua-Hotfix接入(4)
修补各种类型的方法
注意:
- 首次需要hotfix的类名,要加到
HotfixList
中。 - lua 要访问的类名
1 | public class Animal |
普通方法
1 | xlua.hotfix(CS.Animal, 'Congrate', function(self) |
修复特殊的方法
构造函数
构造函数的lua方法名是.ctor
,此外构造函数的热补丁并不是替换,而是执行原有逻辑后再调用lua。
1 | xlua.hotfix(CS.Animal, '.ctor', function(self, name) |
索引器
索引器热修复对应lua方法是get_Item
/set_Item
。
参数为:
- get_Item(self, key) 返回value
- set_Item(self, key, value)
1
2
3xlua.hotfix(CS.Animal, 'get_Item', function(self, key)
end)
get/set 属性
get/set属性的lua方法名对应是get_属性名
/set_属性名
.
参数为:
- get_属性名(self) 返回value
- set_属性名(self, value)
1 | xlua.hotfix(CS.Animal, 'get_Name', function(self) |
+/- 事件
事件的+/-操作对应lua的方法是:add_事件名
/remove_事件名
析构函数
析构函数对应lua的方法名是Finalize
, 传一个self参数.
泛型
泛型类型实例化后都是一个新的类型,不能直接对泛型打补丁,只能对实例化后的类型打补丁。
Unity协程
1 | // 待修复协程 |
1 | --要在lua中配合C#协程函数 那么必使用它 |
多方法修复/整个脚本代码修复
1 | xlua.hotfix(CS.Animal, { |