public static object ToVarObject(IntPtr L, int stackPos) { switch (LuaDLL.lua_type(L, stackPos)) { case LuaTypes.LUA_TNIL: return(null); case LuaTypes.LUA_TBOOLEAN: return(LuaDLL.lua_toboolean(L, stackPos)); case LuaTypes.LUA_TLIGHTUSERDATA: return(LuaDLL.lua_touserdata(L, stackPos)); case LuaTypes.LUA_TNUMBER: return(LuaDLL.lua_tonumber(L, stackPos)); case LuaTypes.LUA_TSTRING: return(LuaDLL.lua_tostring(L, stackPos)); case LuaTypes.LUA_TTABLE: return(ToLua.ToVarTable(L, stackPos)); case LuaTypes.LUA_TFUNCTION: return(ToLua.ToLuaFunction(L, stackPos)); case LuaTypes.LUA_TUSERDATA: return(ToLua.ToObject(L, stackPos)); case LuaTypes.LUA_TTHREAD: return(ToLua.ToLuaThread(L, stackPos)); default: return(null); } }