22 lines
359 B
Lua
22 lines
359 B
Lua
local PWClass = {}
|
|
|
|
local function MetaCall(cls, ...)
|
|
local inst = {
|
|
__CLASS = cls
|
|
}
|
|
cls.ctor(inst, ...)
|
|
return setmetatable(inst, cls)
|
|
end
|
|
|
|
function PWClass.derive(name, base)
|
|
local cls = {
|
|
__CLASS_NAME = name
|
|
}
|
|
cls.__index = cls
|
|
return setmetatable(cls, {
|
|
__call = MetaCall
|
|
})
|
|
end
|
|
|
|
|
|
return PWClass |