У меня уже есть решение этой задачи, которое работает. Но у меня есть сомнения относительно того как на самом деле надо приделывать такие вещи.
Допустим у нас есть класс, методы которого можно дёргать через lua. Соответственно есть два способа:
1. делать эти методы статическими и регистрировать в lua
2. делать статические функции и через аналог getInstance() вызывать соответствующее.
// 1
LuaL_Reg ... []={{"foo",A::foo}...}
class A
{
... static ... foo();
}
// 2
LuaL_Reg ... []={{"foo",lua_foo}...}
static .. lua_foo()
{
B::getInstance()->foo();
}
class B
{
... static getInstance();
... foo();
}
Если вы знаете ещё какие либо способы, программы где подобное реализовано красиво - буду благодарен