Unity Xlua教程 之 C#使用接口获取Lua的内容
Unity Xlua教程 之 C#使用接口获取Lua的内容。本节介绍,在Unity中,使用C#中的接口获取Lua中的对应表的内容的简单案例,具体如下
工具/原料
Unity
XLua
Unity Xlua教程 之 C#使用接口获取Lua的内容
1、打开Unity,新建一个空工程,具体如下图
2、在百度上搜索下载XLua,导入Unity工程中,具体如下图
3、在工程中,新建一个脚本,可以命名为“CSharpCallLua”,双击脚本或者右键“Open C# Project”打开脚本,具体如下图
4、在打开的脚本“CSharpCallLua”编写代码,首先引入XLua命名空间,然后豹肉钕舞设置Lua环境变量,接着获取“CSCallLua.lua.txt”Lua脚本内容,随后使用自定义的接口接收lLua的内容,打印接收的内容,并修改其中的内容,再次打印(注意:C# 接口调用Lua时,修改C# 从Lua获取到的参数值,Lua中的也会对应变化),具体代码和代码说明如下图
5、“CSharpCallLua”脚本的具体内容如下:using UnityEngine;using X讣嘬铮篌Lua;public class CSharpCallLua : MonoBehaviour { private LuaEnv luaEnv; // Use this for initialization void Start () { luaEnv = new LuaEnv(); luaEnv.DoString("require'CSharpCallLua'"); IPerson ip = luaEnv.Global.Get<IPerson>("person"); print(ip.name + " " + ip.age); ip.name = "View"; print(ip.name + " " + ip.age); luaEnv.DoString("print(person.name)"); ip.Add(1,2); } [CSharpCallLua] interface IPerson { string name { get; set; } int age { get; set; } void Add(int a,int b); } private void OnDestroy(){ luaEnv.Dispose(); }}
6、脚本编译正确,回到Unity界面,在场景中新建一个“GameObject”,把“MyCSCallLua”挂载上去,并在工程中在新建一个“Resources”文件夹,新建一个“CSharpCallLua.lua.txt”文本,具体如下图
7、在“CSharpCallLua.lua.txt”编写代码,注意表中哥哥参数逗号隔开,创建如下图的函数时,为了方便C#调用,第一个参数需带“Self”,具体代码和代码说明如下图
8、“CSharpCallLua.lua.txt”具体内容如下:person = { name = "Apple", age = 12, Add = function (self,a,b) print("a+b = "..a+b) end}
9、编译正确,回到Unity中,运行场景,控制台打印结果如下
10、到此,《Unity Xlua教程 之 C#使用接口获取Lua的内容》讲解结束,谢谢