44 lines
942 B
Lua
44 lines
942 B
Lua
------------------------------------------------
|
||
--作者:何健
|
||
--日期:2019-05-29
|
||
--文件:LuaDelegateHander.lua
|
||
--模块:LuaDelegateHander
|
||
--描述:委托句柄的定义
|
||
------------------------------------------------
|
||
--委托句柄定义
|
||
local LuaDelegateHander={
|
||
--引用计数
|
||
Ref = 0,
|
||
--函数调用者
|
||
Caller = nil,
|
||
--函数
|
||
Func = nil,
|
||
--形成的事件句柄
|
||
Handler = nil;
|
||
};
|
||
|
||
--新的事件Handler
|
||
function LuaDelegateHander:New(func, caller)
|
||
local _m = Utils.DeepCopy(self);
|
||
_m.Caller = caller;
|
||
_m.Func = func;
|
||
_m.Ref = 1;
|
||
if caller == nil then
|
||
_m.Handler = func;
|
||
else
|
||
_m.Handler = Utils.Handler(func,caller);
|
||
end
|
||
return _m;
|
||
end
|
||
|
||
----引用计数加一
|
||
function LuaDelegateHander:IncRef()
|
||
self.Ref = self.Ref + 1
|
||
end
|
||
|
||
--引用计数减一
|
||
function LuaDelegateHander:DecRef()
|
||
self.Ref = self.Ref - 1
|
||
end
|
||
|
||
return LuaDelegateHander; |