Advertisement
Guest User

Untitled

a guest
Mar 28th, 2017
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.55 KB | None | 0 0
  1. local order = {}
  2.  
  3. order.members = {}
  4.  
  5. function order:register(t)
  6. assert(t.y, "Error: missing a y coordinate")
  7. assert(t.draw, "Error: missing a draw function")
  8. if not t.drawOrder then
  9. t.drawOrder = 1
  10. print("missing a drawOrder value, defaulting to 1")
  11. end
  12. table.insert(self.members, t)
  13. end
  14.  
  15.  
  16. local function sort(lh, rh)
  17. if lh.drawOrder == rh.drawOrder then
  18. return lh.y < rh.y
  19. else
  20. return lh.drawOrder < rh.drawOrder
  21. end
  22. end
  23.  
  24.  
  25. function order.draw(x, y)
  26. table.sort(t, sort)
  27. for _,v in ipairs(self.members) do
  28. v:draw(x, y)
  29. end
  30. end
  31.  
  32. return order
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement