class Test
{
public:
Test(){ cout << "construct test" << endl; }
int a = 1;
void set(int n){ a += n; };
int get(){ return a; }
void func(){ cout << "func" << endl; }
};
void registerClass(LuaIntf::LuaContext& context)
{
LuaIntf::LuaBinding(context).beginClass<Test>("Test")
.addConstructor(LUA_ARGS())
.addProperty("myA", &Test::get, &Test::set)
.addFunction("func", &Test::func)
.endClass();
}
addProperty : 添加属性 , get 和 set
CppBindClassMethod <xxxxxx> 是特化, 对于我的 get 、set 函数应该是特化到这里,
CppBindClassNetMethodBase 中静态断言,检查 get 返回值 非void, 参数数量是0;
set返回值为void, 参数数量是 1