diff options
| author | Alexander Pickering <alexandermpickering@gmail.com> | 2018-03-05 21:13:29 -0500 |
|---|---|---|
| committer | Alexander Pickering <alexandermpickering@gmail.com> | 2018-03-05 21:13:29 -0500 |
| commit | ea5c6452b163ec42784b403d44b4a5c04893d234 (patch) | |
| tree | 08e3e057cb8478e96b1e202661a2a4fd83ccb474 /gamemode/client | |
| parent | 83843182094d0d99ef7e81b26739051c2d7ff143 (diff) | |
| download | artery-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.
Diffstat (limited to 'gamemode/client')
| -rw-r--r-- | gamemode/client/cl_inventory.lua | 11 |
1 files changed, 8 insertions, 3 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 |
