aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Pickering <alexandermpickering@gmail.com>2018-03-05 21:13:29 -0500
committerAlexander Pickering <alexandermpickering@gmail.com>2018-03-05 21:13:29 -0500
commitea5c6452b163ec42784b403d44b4a5c04893d234 (patch)
tree08e3e057cb8478e96b1e202661a2a4fd83ccb474
parent83843182094d0d99ef7e81b26739051c2d7ff143 (diff)
downloadartery-ea5c6452b163ec42784b403d44b4a5c04893d234.tar.gz
artery-ea5c6452b163ec42784b403d44b4a5c04893d234.tar.bz2
artery-ea5c6452b163ec42784b403d44b4a5c04893d234.zip
Refactored client
Moved the responsibility for calling all observers into the client's inventory code, and out of cl_invtracker.
-rw-r--r--gamemode/client/cl_inventory.lua11
-rw-r--r--gamemode/core/inventory/cl_invtracker.lua3
2 files changed, 8 insertions, 6 deletions
diff --git a/gamemode/client/cl_inventory.lua b/gamemode/client/cl_inventory.lua
index 65c3ceb..671d16b 100644
--- a/gamemode/client/cl_inventory.lua
+++ b/gamemode/client/cl_inventory.lua
@@ -13,6 +13,7 @@
--local qinv = nrequire("cl_qinventory.lua")
local state = nrequire("cl_state.lua") --Holds weather or not player is in inventory
local itm = nrequire("core/inventory/common/items.lua")
+local log = nrequire("log.lua")
--local qpray = nrequire("cl_qprayers.lua")
local inv = {}
@@ -48,8 +49,12 @@ local function CreateSheetTree(tabs,dpropertysheet)
elseif type(k) == "number" then
local tsheet = vgui.Create("DPanel")
dpropertysheet:AddSheet(v.Name,tsheet,"icon16/user.png")
- local prox = v:DrawOnDPanel(tsheet)
- v:AddObserver(prox)
+ if v.DrawOnDPanel then
+ local prox = v:DrawOnDPanel(tsheet)
+ v:AddObserver(prox)
+ else
+ log.warn("Failed to draw inventory:" + v.Name + ", no DrawOnDPanel()")
+ end
else
error("k was not a number or string, it was a " .. type(k))
end
@@ -87,7 +92,7 @@ local function BuildInventory()
local initalsheet = vgui.Create("DPropertySheet",qframe)
initalsheet:Dock(FILL)
-
+
CreateSheetTree(clt.known_inventories,initalsheet)
end
diff --git a/gamemode/core/inventory/cl_invtracker.lua b/gamemode/core/inventory/cl_invtracker.lua
index 41c9eff..dac1cc2 100644
--- a/gamemode/core/inventory/cl_invtracker.lua
+++ b/gamemode/core/inventory/cl_invtracker.lua
@@ -98,9 +98,6 @@ net.Receive("art_UpdateInventory",function()
local item_data = net.ReadData(net.ReadUInt(32))
local item = itm.GetItemFromData(item_name,item_data)
known_inventories[id]:Put(position,item)
- for k,v in pairs(known_inventories[id].observers) do
- v:Put(position,item)
- end
--print("Inventorie's observers:")
--PrintTable(known_inventories[id].observers)
--print("Inventory is now")