void IGObject::getLuaObject(IGScripting * s) { if (!scripting) { scripting = s; L = scripting->luaState(); } PHLuaGetWeakRef(L, this); if (lua_istable(L, -1)) return; lua_pop(L, 1); lua_newtable(L); lua_pushvalue(L, -1); lua_setmetatable(L, -2); lua_getglobal(L, luaClass()); lua_setfield(L, -2, "__index"); lua_pushlightuserdata(L, this); lua_setfield(L, -2, "ud"); lua_pushvalue(L, -1); PHLuaSetWeakRef(L, this); }
// ------------------------------------------------------------------ bool luaRegisterSound(lua_State* L) { luaClass(L, Sound); return true; }