Files
Main/Assets/GameAssets/Resources/Lua/Logic/TaskSystem/Container/TaskBehaviorContainer.lua
2025-01-25 04:38:09 +08:00

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