Advertisement
Guest User

Untitled

a guest
Jan 13th, 2015
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.09 KB | None | 0 0
  1.  
  2. Item = {
  3.     list = {}
  4. }
  5.  
  6. setmetatable(Item, {
  7.     __call = function (self, ...)
  8.         return self:create(...)
  9.     end
  10. })
  11.  
  12. function Item:create(name, weight, category)
  13.     if Item.list[name] then
  14.         return Item.list[name]
  15.     end
  16.  
  17.     local new = {
  18.         name = name,
  19.         weight = weight,
  20.         category = category
  21.     }
  22.     setmetatable(new, {__index = Item})
  23.     Item.list[name] = new
  24.  
  25.     return new
  26. end
  27.  
  28. function Item.exists(name)
  29.     return Item.list[name] and true or false
  30. end
  31.  
  32. function Item:getWeight()
  33.     return self.weight
  34. end
  35.  
  36. function Item:setWeight(weight)
  37.     self.weight = weight
  38. end
  39.  
  40. function Item:getName()
  41.     return self.name
  42. end
  43.  
  44. function Item:getCategory()
  45.     return self.category
  46. end
  47.  
  48. function Item:setCategory(category)
  49.     self.category = category
  50. end
  51.  
  52. -- Create consumable items
  53. Item("Apple", 2, "Consumable")
  54. Item("Banana", 3, "Consumable")
  55. Item("Orange", 1, "Consumable")
  56. Item("Water", 10, "Consumable")
  57. Item("Cola", 8, "Consumable")
  58.  
  59. -- Create 2 weapons
  60. Item("M4A1", 50, "Weapon")
  61. Item("MP5", 30, "Weapon")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement