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/equipment/sh_equipment.lua | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'gamemode/inventorysystem/equipment/sh_equipment.lua') diff --git a/gamemode/inventorysystem/equipment/sh_equipment.lua b/gamemode/inventorysystem/equipment/sh_equipment.lua index 5bea682..b27dd08 100644 --- a/gamemode/inventorysystem/equipment/sh_equipment.lua +++ b/gamemode/inventorysystem/equipment/sh_equipment.lua @@ -117,16 +117,14 @@ inv.Serialize = function(self) end inv.DeSerialize = function(self,data) - if data == nil or data == '' then - return table.Copy(self) - end + self.equiped = {} local tbl = util.JSONToTable(data) - local cpy = table.Copy(self) + tbl = tbl or {} for k,v in pairs(tbl) do local te = itm.GetItemByName(v[1]):DeSerialize(v[2]) - cpy:Put({k},te) + self:Put({k},te) end - return cpy + return self end inventory.RegisterInventory(inv) -- cgit v1.2.3-70-g09d2