GlobalBeginTool = {}; ---@type 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;