53 lines
1.1 KiB
Lua
53 lines
1.1 KiB
Lua
------------------------------------------------
|
|
-- 作者: 王圣
|
|
-- 日期: 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
|