ToLua插件自带了一个tolua库,这个库可以让我们更灵活的使用Lua。
tolua库里包含以下方法:
gettime | 获取系统时间 |
typename | 获取对象的类型名称 |
setpeer | 设置替身 |
getpeer | 获取替身 |
getfunction | 获取函数 |
initset | 初始化set“访问器” |
initget | 初始化get“访问器” |
int64 | 生成一个int64对象 |
uint64 | 生成一个uint64对象 |
initset和initget也在Unity3D开发小贴士(七)Lua里扩展C#对象使用过,这两个方法是为一个table的成员变量设置get和set“访问器”。它们实际上都是返回了一个表,暂命名为gettable和settable,当访问table里的变量的时候,会调用gettable里的同名函数(如果有),而设置table的里的变量的时候,会调用settable里的同名函数(如果有)。当然这些同名函数可以由你自己实现。
int64和uint64这两个方法相当于调用了int64库和uint64库的new方法。Lua5.3已经支持了这两种数据类型,而对于旧版本的Lua来讲,这两个方法实际上返回的是userdata,不过这两种userdata可以像正常的数一样加减乘除、取余、取相反数、乘方,还有比较和打印,此外还提供了tostring和equals函数,以及(不怎么好用的)tonum2函数。tonum2会返回两个数,第二个数是右移32位的值,第一个数是剩下的值(&0xFFFFFFFF)。