Unity Xlua之Hotfix热补丁 (二)
一.属性和索引器替换
- 属性固定的写法set_属性名称,get_属性名称
- 索引器固定写法set_Item,Set_Item
private int age;private int Age{get{return 0;}set{age = value;}}private int[] arr = { 1, 2, 3, 4, 5 };public int this[int index]{get{return arr[index];}set{arr[index] = value;}}
xlua.hotfix(CS.HotfixMain,{get_Age = function (self)return self.ageend,set_Age = function (self,val)print("设置值:"..val)self.age = valend,set_Item = function (self,index,val)print("重定向索引器"..index..":"..val)self.arr[index] = valend,get_Item = function (self,index)return 0;end
})
二.事件操作替换(只做了解即可)
private event UnityAction action;private void Start(){LuaMgr.GetInstance().Init();LuaMgr.GetInstance().LoadFile("Main");action += TestUnityAction;action += TestUnityAction;action += TestUnityAction;action -= TestUnityAction;action?.Invoke();}
xlua.hotfix(CS.HotfixMain,{add_action = function (self,del)print("Lua")end,remove_action = function (self,del)print("Lua")end
})
三.泛型类替换
[Hotfix]
public class HotfixTest<T>
{public void Test(T t){Debug.Log(t);}
}
xlua.hotfix(CS.HotfixTest(CS.System.String),{Test = function (self,str)print("Lua:"..str)end
})xlua.hotfix(CS.HotfixTest(CS.System.Int32),{Test = function (self,int)print("Lua:"..int)end
})
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!