------------------------------------------------ -- 作者: 王圣 -- 日期: 2021-03-19 -- 文件: TaskBehaviorContainer.lua -- 模块: TaskBehaviorContainer -- 描述: 任务行为容器 ------------------------------------------------ -- 引用 local TaskBehaviorContainer = { Container = Dictionary:New(), } function TaskBehaviorContainer:New() local _m = Utils.DeepCopy(self) return _m end --添加行为 function TaskBehaviorContainer:Add(taskId, behavior) self.Container[taskId] = behavior end --删除任务对应的行为 function TaskBehaviorContainer:Remove(taskId) self.Container:Remove(taskId) end --通过id查找任务行为 function TaskBehaviorContainer:Find(taskId) local _ret = self.Container[taskId] return _ret; end function TaskBehaviorContainer:GetCount() local _ret = self.Container:Count(); return _ret; end function TaskBehaviorContainer:Clear() self.Container:Clear() end --心跳 function TaskBehaviorContainer:OnUpdate(dt) self.Container:Foreach(function(k, v) if v ~= nil then v:Update(dt) end end) end return TaskBehaviorContainer