aboutsummaryrefslogtreecommitdiff
path: root/gamemode/inventorysystem/skills/sh_skills.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/skills/sh_skills.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/skills/sh_skills.lua')
-rw-r--r--gamemode/inventorysystem/skills/sh_skills.lua10
1 files changed, 4 insertions, 6 deletions
diff --git a/gamemode/inventorysystem/skills/sh_skills.lua b/gamemode/inventorysystem/skills/sh_skills.lua
index a1c878f..3c212bf 100644
--- a/gamemode/inventorysystem/skills/sh_skills.lua
+++ b/gamemode/inventorysystem/skills/sh_skills.lua
@@ -140,16 +140,14 @@ inv.Serialize = function(self)
end
inv.DeSerialize = function(self,data)
- if data == nil or data == '' then
- return table.Copy(inv)
- end
calculate_skills()
- local cpy = table.Copy(self)
+ self.skills = {}
local gen = util.JSONToTable(data)
+ gen = gen or {}
for k,v in pairs(gen) do
- cpy.skills[k] = v
+ self.skills[k] = v
end
- return cpy
+ return self
end
inventory.RegisterInventory(inv)