miduo_client/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleObjectPool.lua

24 lines
528 B
Lua
Raw Normal View History

2020-08-25 15:46:38 +08:00
BattleObjectPool = {}
2020-05-09 13:31:21 +08:00
function BattleObjectPool.New(onCreate)
local o = {}
setmetatable(o, BattleObjectPool)
BattleObjectPool.__index = BattleObjectPool
o.buffer = {}
o.size = 0
o.onCreate = onCreate
return o
end
function BattleObjectPool:Get(...)
local e = self.buffer[self.size]
if not e then
return self.onCreate(...)
end
self.size = self.size - 1
return e
end
function BattleObjectPool:Put(item)
self.size = self.size + 1
self.buffer[self.size] = item
2020-06-23 18:36:24 +08:00
end