// garbage collection metamethod private static int gc_T(Lua.lua_State L) { Luna.userdataType ud = (Luna.userdataType)Lua.lua_touserdata(L, 1); LWF.LWF obj = null; if (!objects[L].TryGetValue(ud.ObjectId, out obj)) { return(0); } if (ud.Gc) { LunaTraits_LWF_LWF._bind_dtor(obj); // call constructor for T objects } Destroy(L, obj); return(0); }
// garbage collection metamethod private static int gc_T(Lua.lua_State L) { byte[] d = (byte[])Lua.lua_touserdata(L, 1); if (d == null) { Luna.print("checkRaw: ud==nil\n"); Lua.luaL_typerror(L, 1, LunaTraits_LWF_LWF.className); } Luna.userdataType ud = new Luna.userdataType(d); LWF.LWF obj = null; if (!objects[L].TryGetValue(ud.ObjectId, out obj)) { return(0); } if (ud.Gc) { LunaTraits_LWF_LWF._bind_dtor(obj); // call constructor for T objects Destroy(L, obj); } return(0); }