我有 C++ 对象和Lua对象/表。(也有SWIG C++ 绑定。)
我需要做的是关联这两个对象,这样如果我说
CObject* o1 = getObject();
o1->Update();
它将执行等效的 Lua:
myluatable1.Update();
到目前为止,我可以想象 CObject::Update 将具有以下代码:
void CObject::Update(){
// Acquire table.
// ???
// Do the following operations on the table.
lua_getfield(L, -1, "Update");
lua_pcall(L, 0, 0, 0);
}
我将如何存储/设置要使用的 Lua 表,以及 // ???
上面的内容如何使 Update 调用工作?