Пример #1
0
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);
}
Пример #2
0
	// ------------------------------------------------------------------
	bool luaRegisterSound(lua_State* L)
	{
		luaClass(L, Sound);
		return true;
	}