add
This commit is contained in:
29
Assets/trCRM/upgradeRes4Dev/priority/lua/public/CLLPool.lua
Normal file
29
Assets/trCRM/upgradeRes4Dev/priority/lua/public/CLLPool.lua
Normal file
@@ -0,0 +1,29 @@
|
||||
require("public.class")
|
||||
require("public.CLLQueue")
|
||||
|
||||
---@class CLLPool
|
||||
CLLPool = class("CLLPool")
|
||||
--local queue;
|
||||
--local cloneClass;
|
||||
|
||||
function CLLPool:ctor(classObj)
|
||||
self.queue = CLLQueue.new(100)
|
||||
self.cloneClass = classObj
|
||||
end
|
||||
|
||||
function CLLPool:createObj()
|
||||
return self.cloneClass.new()
|
||||
end
|
||||
|
||||
function CLLPool:borrow()
|
||||
if self.queue:isEmpty() then
|
||||
return self:createObj()
|
||||
end
|
||||
return self.queue:deQueue();
|
||||
end
|
||||
|
||||
function CLLPool:retObj(obj)
|
||||
self.queue:enQueue(obj);
|
||||
end
|
||||
|
||||
return CLLPool;
|
||||
Reference in New Issue
Block a user