首先创建一个类,用于当作一个对象。
public class LuaTestA
{
public int a = 10;
}
接着创建第二个类
public class LuaTestB
{
public int b = 10;
public LuaTestA luaTestA;
}
对LuaTestA进行Lua绑定。
using LuaInterface;
using System;
public class LuaTestAWrap
{
public static Regist(LuaState L)
{
L.BeginClass(typeof(LuaTestA),typeof(System.Object));
///LuaTestA中的变量a
L.RegVar("a",get_a,set_a);
L.EndClass();
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int get_a(IntPtr L)
{
object o = null;
try
{
o = ToLua.ToObject(L,1);
LuaTestA obj = (LuaTestA)o;
int ret = obj.a;
LuaDll.lua_pushinteger(L,ret);
return 1;
}
catch (Exception e)
{
return LuaDLL.toluaL_exception(L, e, o, "attempt to index text on a nil value");
}
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int set_a(IntPt