C#访问Lua中的变量脚本
1.访问lua中的基础变量
CSharpCallLua.lua脚本
a = 100
str = "hu"
isDie = false
c#访问lua中的变量
using XLua;
LuaEnv luaEnv = new LuaEnv();
luaEnv.DoString("require 'CSharpCallLua'");//需要先将lua脚本加载进来
int a = luaEnv.Global.Get<int>("a")//获取lua中全局变量a
string str = luaEnv.Global.Get<string>("str")//获取lua中全局变量str
bool isDie = luaEnv.Global.Get<bool>("isDie")//获取lua中全局变量isDie
luaEnv.Dispose();
注意:映射的值必须一一对应,若lua中是一个小数,则只能映射成float或double,若映射成int则值为初始值0
2.访问lua中的表对象
1.by-value方式,通过类映射
CSharpCallLua.lua脚本
person = {
name = "hu" , age=100 , 12,2,2,2
eat = function()
print("eating")
end
c#访问lua中的变量
using XLua;
class Person //类名不需要相同,主要是数据
//注意必须变量名相同,且类型相同,若lua中变量存在C#中没有的,也没有关系,只是无法映射过来
//若类中存在lua表中不存在的变量,则初始化为默认值
{
public string name;
public int age;
}