annotate DependencyLoader_Core/class.lua @ 8:930871e163bc

created a new Tree class and started rearranging code
author mckenziemc
date Sat, 04 Dec 2010 23:05:34 -0800
parents 9852fcd5e59e
children
rev   line source
mckenziemc@0 1 -- class.lua
mckenziemc@0 2 -- Implements a generic class builder.
mckenziemc@0 3
mckenziemc@0 4
mckenziemc@0 5 local addonName, addonTable = ...
mckenziemc@0 6
mckenziemc@8 7 -- FIXME: prevent duplicate class definitions
mckenziemc@0 8
mckenziemc@0 9 print( string.format([[running %s\class.lua]], addonName) )
mckenziemc@0 10
mckenziemc@0 11 addonTable.classes = {}
mckenziemc@0 12
mckenziemc@0 13 function addonTable:NewClass(name)
mckenziemc@0 14 local class, prototype, metatable = {}, {}, {}
mckenziemc@0 15
mckenziemc@0 16 class.prototype = prototype
mckenziemc@0 17
mckenziemc@0 18 metatable.__index = prototype
mckenziemc@0 19 class.instanceMetatable = metatable
mckenziemc@0 20
mckenziemc@0 21 self.classes[name] = class
mckenziemc@0 22
mckenziemc@0 23 return class, prototype
mckenziemc@0 24 end