mckenziemc@0: -- class.lua mckenziemc@0: -- Implements a generic class builder. mckenziemc@0: mckenziemc@0: mckenziemc@0: local addonName, addonTable = ... mckenziemc@0: mckenziemc@0: mckenziemc@0: print( string.format([[running %s\class.lua]], addonName) ) mckenziemc@0: mckenziemc@0: addonTable.classes = {} mckenziemc@0: mckenziemc@0: function addonTable:NewClass(name) mckenziemc@0: local class, prototype, metatable = {}, {}, {} mckenziemc@0: mckenziemc@0: class.prototype = prototype mckenziemc@0: mckenziemc@0: metatable.__index = prototype mckenziemc@0: class.instanceMetatable = metatable mckenziemc@0: mckenziemc@0: self.classes[name] = class mckenziemc@0: mckenziemc@0: return class, prototype mckenziemc@0: end