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 |