aboutsummaryrefslogtreecommitdiff
path: root/gamemode/inventorysystem/shapedinventory/sh_shaped.lua
diff options
context:
space:
mode:
authorAlexander Pickering <alexandermpickering@gmail.com>2018-03-23 15:20:30 -0400
committerAlexander Pickering <alexandermpickering@gmail.com>2018-03-23 15:20:30 -0400
commitd2868db28210b8c4debab2b70dca2833d582fdfd (patch)
tree17ad5beb46e3b1c3c17d520a71a4c1ea12c47f51 /gamemode/inventorysystem/shapedinventory/sh_shaped.lua
parenta7f7bed257dd96b1027c6343cd59eea4eee9fc3b (diff)
downloadartery-d2868db28210b8c4debab2b70dca2833d582fdfd.tar.gz
artery-d2868db28210b8c4debab2b70dca2833d582fdfd.tar.bz2
artery-d2868db28210b8c4debab2b70dca2833d582fdfd.zip
Refactored the inventory system
Inventory system now uses flyweight pattern with metatables.
Diffstat (limited to 'gamemode/inventorysystem/shapedinventory/sh_shaped.lua')
-rw-r--r--gamemode/inventorysystem/shapedinventory/sh_shaped.lua7
1 files changed, 4 insertions, 3 deletions
diff --git a/gamemode/inventorysystem/shapedinventory/sh_shaped.lua b/gamemode/inventorysystem/shapedinventory/sh_shaped.lua
index 5de6272..42edaa6 100644
--- a/gamemode/inventorysystem/shapedinventory/sh_shaped.lua
+++ b/gamemode/inventorysystem/shapedinventory/sh_shaped.lua
@@ -119,17 +119,18 @@ function inv:Serialize()
end
function inv:DeSerialize(str)
- local ret = table.Copy(self)
+ self.tracker = {}
local tbl = util.JSONToTable(str)
+ tbl = tbl or {}
for k,v in pairs(tbl) do
local name = k
local pos = v[1]
local data = v[2]
local item = itm.GetItemFromData(name,data)
- ret:Put(pos,item)
+ self:Put(pos,item)
--ret.tracker[pos] = itm.GetItemFromData(name,data)
end
- return ret
+ return self
end