У меня есть объекты C++, и у меня есть Lua объектов/таблиц. (Также есть SWIG C++ привязок.)Отслеживание таблиц Lua в 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?
Можно ли назначить объект C++ целочисленным id и сохранить связанную таблицу в глобальной таблице lau aka globaltable [tableID] = relatedTable? –