37 lines
1.0 KiB
Lua
Raw Permalink Normal View History

2025-01-04 23:00:19 +08:00
GlobalBeginTool = {};
---@type table<table, fun(o: table)> 回调函数
GlobalBeginTool.BeginPlayFunctions = {};
GlobalBeginTool.ClientAlreadyFunctions = {};
---@generic T
---@param o T
---@param f fun(o:T) 初始化函数
function GlobalBeginTool:AddBeginPlay(o, f)
if o == nil then return end
if GlobalBeginTool.BeginPlayFunctions[o] ~= nil then return end
if type(f) ~= "function" then return end
GlobalBeginTool.BeginPlayFunctions[o] = f;
end
---@generic T
---@param o T
---@param f fun(o:T) 初始化函数
function GlobalBeginTool:AddClientAlready(o, f)
if o == nil then return end
if GlobalBeginTool.ClientAlreadyFunctions[o] ~= nil then return end
if type(f) ~= "function" then return end
GlobalBeginTool.ClientAlreadyFunctions[o] = f;
end
function GlobalBeginTool:ReceiveBeginPlay()
for o, f in pairs(self.BeginPlayFunctions) do f(o); end
self.BeginPlayFunctions = {};
end
function GlobalBeginTool:ReceiveClientAlready()
for o, f in pairs(self.ClientAlreadyFunctions) do f(o); end
self.ClientAlreadyFunctions = {};
end
return GlobalBeginTool;