![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Lua
gouki04
面向兴趣编程
展开
-
xLua下调用GetComponent时返回值不是nil的坑
xLua下调用GetComponent返回值不是nil的坑问题看下面代码: -- gameObject没有Rigidbody,但返回值不等于nil local old_rigidbody = self.Owner.gameObject:GetComponent(typeof(CS.UnityEngine.Rigidbody)) if old_rigidbody then...原创 2018-12-04 10:48:20 · 5511 阅读 · 0 评论 -
xLua添加Peer机制
XLua添加Peer机制peer这个概念来自tolua++,是对等、同等的意思。其主要目标是为了解决一个lua和c++(或者c#)交互的问题:在lua下继承一个c#的类时,我们希望能给这个派生类添加一些新的成员变量,同时,希望在别的地方获取到这个派生类的对象时,也能正常访问到这些新的成员变量。首先要理解lua下是怎样访问c#的对象的。一个c#的对象传给lua时,会生成一个userdata...原创 2018-12-03 11:22:32 · 1910 阅读 · 0 评论 -
xLua的obj引用分析
xLua的obj引用分析为了防止c#和lua两端的内存泄漏,有必要了解xLua是怎样处理2端的引用关系的,尤其是在扩展xLua时,处理不得当很容易造成引用丢失或者内存泄漏。一个c#的obj是不能直接传递到lua,需要一个中间层,这个中间层就是userdata。xLua会为每个传递到lua的obj生成唯一的一个userdata,并将2者绑定起来(具体绑定方式后面分析)。这样就有2个基本问题:...原创 2018-12-03 20:56:12 · 4279 阅读 · 0 评论 -
lua下实现防注入的string.replace函数
lua下实现防注入的string.replace函数问题string.gsub是lua下用处非常多的字符串处理函数,其中一个很常见的功能就是做字符串替换,但如果要匹配的字符串是来自于系统外(如玩家的名字、公会名这种),那就要小心出现“注入”问题。下面是一个简单的例子,我们需要把一段含有玩家名字的字符串中的玩家名字加上加粗标签。local some_text = '沉睡的(包子)的神器'l...原创 2019-03-14 19:47:49 · 7888 阅读 · 0 评论