jbe/bsw@0: --[[-- poelzi@34: slot.reset_all{ jbe@47: except = except -- Reset all slots, except slots named in this list poelzi@34: } jbe/bsw@0: jbe@47: Calling this function resets all slots to be empty. An exclusion list may be passed to the function as named argument. jbe/bsw@0: jbe/bsw@0: --]]-- jbe/bsw@0: poelzi@34: function slot.reset_all(args) poelzi@34: local saved = {} poelzi@34: if args and args.except then jbe@47: for i, key in ipairs(args.except) do poelzi@34: saved[key] = slot._data[key] poelzi@34: end poelzi@34: end jbe/bsw@0: slot._data = setmetatable({}, slot._data_metatable) poelzi@34: if saved then jbe@47: for key, value in pairs(saved) do poelzi@34: slot._data[key] = value poelzi@34: end poelzi@34: end jbe/bsw@0: end