2025-06-04 05:02:57 +08:00

46 lines
946 B
Plaintext

autoImport("LuaTablePool")
autoImport("UserData")
PoolManager = class("PoolManager")
function PoolManager.Me()
if nil == PoolManager.me then
PoolManager.me = PoolManager.new()
end
return PoolManager.me
end
function PoolManager:ctor()
self.poolMap = {}
self:InitTablePool(UserData,1000)
self:InitTablePool(RolePropsContainer,2000)
self:InitTablePool(LNpc,100)
self:InitTablePool(LPlayer,200)
end
function PoolManager:InitTablePool(class,maxCount)
local pool = self.poolMap[class.__cname]
if(pool == nil) then
pool = LuaTablePool.new(class.__cname,maxCount)
self.poolMap[class.__cname] = pool
end
pool.maxCount = maxCount
end
function PoolManager:GetTable(class)
local pool = self.poolMap[class.__cname]
if(pool) then
return pool:Get()
end
return nil
end
function PoolManager:PutToPool(data)
if(data) then
local pool = self.poolMap[data.__cname]
if(pool) then
return pool:Put(data)
end
end
return false
end