From d2868db28210b8c4debab2b70dca2833d582fdfd Mon Sep 17 00:00:00 2001 From: Alexander Pickering Date: Fri, 23 Mar 2018 15:20:30 -0400 Subject: Refactored the inventory system Inventory system now uses flyweight pattern with metatables. --- gamemode/inventorysystem/shapedinventory/sh_shaped.lua | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'gamemode/inventorysystem/shapedinventory/sh_shaped.lua') 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 -- cgit v1.2.3-70-g09d2