前言:为什么要用Lua
首先要说,所有编程语言里面,我最喜欢的还是C#,VisualStudio+C#,只能说太舒服了。所以说,为什么非要在unity里面用Lua呢?可能主要是闲的蛋疼。。。。。另外还有一些次要原因:
方便做功能的热更新;
Lua语言的深度和广度都不大,易学易用,可以降低项目成本。
C#与Lua互相调用的方案
坦白来将,我并没有对现在C#与Lua互相调用的所有库进行一个仔细的调研,大概搜了一下,找到这样几个:
slua:https://github.com/pangweiwei/slua
Nlua:http://nlua.org/
UniLua:https://github.com/xebecnan/UniLua
uLua插件
以上这些方案的具体内容,不是本文的重点,这里就不说了,感兴趣的同学,点开自己去看就行了。
最后我选用了uLua,主要原因是:uLua方案比较成熟,它并没有太多自己的代码,主要是把LuaInterface和Lua解释器整合了一下,都是比较成熟的代码,相对会稳定一些。另外,个人很欣赏LuaInterface这个库。接下来我们就看一下uLua。:)
uLua插件的使用非常简单,基本上看一下他自带的几个例子就明白了。
游戏逻辑粘合层设计
uLua插件解决了语言层面的问题:C#与LUA两种语言代码互相调用,以及参数传递等相关的一系列底层问题。而我们游戏逻辑开发