BattleList.lua 932 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. BattleList = {}
  2. function BattleList.New()
  3. local o = {}
  4. setmetatable(o, BattleList)
  5. BattleList.__index = BattleList
  6. o.buffer = {}
  7. o.size = 0
  8. return o
  9. end
  10. function BattleList:Add(v)
  11. self.size = self.size + 1
  12. self.buffer[self.size] = v
  13. end
  14. function BattleList:Remove(index)
  15. self.size = self.size - 1
  16. for i=index, self.size do
  17. self.buffer[i] = self.buffer[i+1]
  18. end
  19. end
  20. function BattleList:Clear()
  21. --self.buffer = {}
  22. self.size = 0
  23. end
  24. function BattleList:Count()
  25. return self.size
  26. end
  27. -- 浅克隆
  28. function BattleList:Clone()
  29. local _list = BattleList.New()
  30. _list.size = self.size
  31. for i , v in pairs(self.buffer) do
  32. _list[i]=v
  33. end
  34. return _list
  35. end
  36. function BattleList:Contains(_k)
  37. for k,v in pairs(self.buffer) do
  38. if k == _k then return true end
  39. end
  40. return false
  41. end