I am working on a project written in C++ which uses Lua as a scripting language. In order to facilitate debugging we implemented a network debugger which receives Lua code, runs it, encodes the return values in Json and sends that string back.
I managed to implement that for tables, but now I am stuck with variables stored in userdata. E.g. I have this Lua code:
Elements.Avatar.testVar = 5
Elements.testVar = 15
return Elements
// result
{
"result0": "{Application:userdata; Avatar:userdata; Physics:userdata; testVar:15; }"
}
Application
, Avatar
and Physics
are objects that have been created in C++. The two testVars
however have been created in the script above.
Elements
is a table, so I can list all elements, but Avatar.testVar
seems to be hidden because Avatar
is a LUA_TUSERDATA
.
Does anyone have an idea how I can detect variables that have been added to userdata in Lua?