37 lines
746 B
Lua
37 lines
746 B
Lua
--[[
|
|
[使用方法]
|
|
====初始化====
|
|
local UGCDelegate = require("Script.Common.UGCDelegate");
|
|
local DelObj = UGCDelegate.New(self, self.SomeFunction);
|
|
|
|
====在需要调用的地方====
|
|
DelObj:Execute(Par1, Par2, Par3);
|
|
--]]
|
|
|
|
---@class UGCDelegate
|
|
local UGCDelegate = LuaClass("UGCDelegate");
|
|
|
|
UGCDelegate.Object = nil;
|
|
UGCDelegate.Func = nil;
|
|
|
|
|
|
--- 构造函数
|
|
---@param InObject any
|
|
---@param InFunc function @函数变量
|
|
function UGCDelegate:ctor(InObject, InFunc)
|
|
self.Object = InObject;
|
|
self.Func = InFunc;
|
|
end
|
|
|
|
|
|
--- 调用回调函数
|
|
function UGCDelegate:Execute(...)
|
|
if self.Object ~= nil then
|
|
self.Func(self.Object, ...);
|
|
elseif self.Func ~= nil then
|
|
self.Func(...);
|
|
end
|
|
end
|
|
|
|
|
|
return UGCDelegate; |