在go中使用lua示例, 基于gopher-lua!
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 

80 行
1.9 KiB

function GetClassName(name)
for k,v in pairs(_G) do
if name==v then
return k
end
end
end
function CreateClass(name,basename)
if _G[name] ~= nil then
unilight.error("CreateClass被意外全局初始化,这里强制重置成类:"..name)
return nil
end
_G[name] = {}
local class = _G[name]
if basename then
local baseclass = _G[basename]
if baseclass then
for k,v in pairs(baseclass) do
class[k] = v
end
else
unilight.error("CreateClass error:" .. tostring(name) .. ":" .. tostring(basename))
end
end
class.__classname = name
function class:New(initclass)
local new = initclass or {}
setmetatable(new, { __index = self})
return new
end
function class:SetClassName(cname)
self.__classname = cname or self.__classname
end
function class:GetLogPrefix()
local id = nil
local name = ""
if self.GetId then
id = self:GetId()
elseif self.id then
id = self.id
elseif self.Id then
id = self.Id
elseif self.tempid then
id = self.tempid
elseif self.Tempid then
id = self.Tempid
end
if self.GetName then
name = self:GetName()
elseif self.name then
name = self.name
elseif self.Name then
name = self.Name
end
local id = id or ""
local name = name or ""
return self.__classname .. "[" .. id .."," ..name.. "] "
end
function class:Debug(...)
unilight.debug(self:GetLogPrefix() .. unpack(arg))
end
function class:Info(...)
unilight.info(self:GetLogPrefix() .. unpack(arg))
end
function class:Warn(...)
unilight.warn(self:GetLogPrefix() .. unpack(arg))
end
function class:Error(...)
unilight.error(self:GetLogPrefix() .. unpack(arg))
end
function class:Stack(...)
unilight.stack(self:GetLogPrefix() .. unpack(arg))
end
return class
end
--Class = CreateClass("Class")
--new = Class:New()
--new:Debug("whj")