aboutsummaryrefslogtreecommitdiff
path: root/gamemode/client/qtabs
diff options
context:
space:
mode:
authorAlexander Pickering <alexandermpickering@gmail.com>2017-01-13 20:33:59 -0500
committerAlexander Pickering <alexandermpickering@gmail.com>2017-01-13 20:33:59 -0500
commitf4ee62bb0725a3ae94477b2818071f506e4dfd9f (patch)
tree5b185d1f93aea4e14a2d93e4addfde4dafda9bed /gamemode/client/qtabs
parent98e0462e4f6b13ff26af5211409352d45dd9453e (diff)
downloadartery-f4ee62bb0725a3ae94477b2818071f506e4dfd9f.tar.gz
artery-f4ee62bb0725a3ae94477b2818071f506e4dfd9f.tar.bz2
artery-f4ee62bb0725a3ae94477b2818071f506e4dfd9f.zip
Finished up shaped inventory, and more work on shared functions.
Diffstat (limited to 'gamemode/client/qtabs')
-rw-r--r--gamemode/client/qtabs/cl_qinventory.lua52
1 files changed, 44 insertions, 8 deletions
diff --git a/gamemode/client/qtabs/cl_qinventory.lua b/gamemode/client/qtabs/cl_qinventory.lua
index a3f8a16..e60424f 100644
--- a/gamemode/client/qtabs/cl_qinventory.lua
+++ b/gamemode/client/qtabs/cl_qinventory.lua
@@ -1,7 +1,6 @@
--[[
One of the tabs in the inventory
]]
-
local inv = nrequire("inventory/inventory.lua")
local itm = nrequire("item.lua")
@@ -9,13 +8,41 @@ local q = {}
local known_inventories = {}
local inventory_frames = {}
+local invsheet
+local drawsheeton = function(id,inventory)
+ if invsheet == nil then return end
+ local tpanel = vgui.Create( "DPanel", invsheet )
+ --tpanel.Paint = function( self, w, h )
+ -- draw.RoundedBox( 4, 0, 0, w, h, Color( 0, 128, 255 ) )
+ --end
+ if inventory.DrawOnDPanel then
+ print("Has drawondpanel")
+ local prox = inventory:DrawOnDPanel(tpanel)
+ print("Prox returned was",prox)
+ PrintTable(prox)
+ known_inventories[id]:AddObserver(prox)
+ print("Oservers is now")
+ PrintTable(known_inventories[id].observers)
+ end
+ invsheet:AddSheet( inventory.Name, tpanel, "icon16/tab.png" )
+end
net.Receive("art_ObserveInventory",function()
local id = net.ReadUInt(32)
local inv_type = net.ReadString()
print("Got inv type", inv_type,"id",id)
- local inital_data = net.ReadData(net.ReadUInt(32))
- known_inventories[id] = inv.CreateInventoryFromData(inv_type,initaldata)
+ local datalen = net.ReadUInt(32)
+ local inital_data = net.ReadData(datalen)
+ local ownent = net.ReadEntity()
+ local tinv = inv.CreateInventoryFromData(inv_type,inital_data)
+ tinv.owner = ownent
+ tinv.id = id
+ print("Created new inventory:")
+ PrintTable(tinv)
+ known_inventories[id] = tinv
+ drawsheeton(id,tinv)
+ print("known inventories is now:")
+ PrintTable(known_inventories)
end)
net.Receive("art_UpdateInventory",function()
@@ -24,9 +51,15 @@ net.Receive("art_UpdateInventory",function()
local position = net.ReadTable()
if isput then
local item_name = net.ReadString()
+ print("Putting ", item_name, "into inventory ",id, " at position")
+ PrintTable(position)
local item_data = net.ReadData(net.ReadUInt(32))
local item = itm.GetItemFromData(item_name,item_data)
known_inventories[id]:Put(position,item)
+ print("Inventorie's observers:")
+ PrintTable(known_inventories[id].observers)
+ print("Inventory is now")
+ PrintTable(known_inventories[id])
else
known_inventories[id]:Remove(position)
end
@@ -41,17 +74,15 @@ net.Receive("art_CloseInventory",function()
end
end)
-local width,height = (ScrW() / 4) - 10, ScrH()
-local iconsize = width / 5
-
-
q.CreateInventorySheet = function(dpanel_parent)
--assert(known_inventories[watch_id] ~= nil,"Attempted to watch an inventory that dosn't exist!")
--Display the equipment inventories
- local invsheet = vgui.Create( "DPropertySheet", dpanel_parent )
+ invsheet = vgui.Create( "DPropertySheet", dpanel_parent )
invsheet:Dock( FILL )
for k,v in pairs(known_inventories) do
+ drawsheeton(k,v)
+ --[[
local tpanel = vgui.Create( "DPanel", invsheet )
tpanel.Paint = function( self, w, h )
draw.RoundedBox( 4, 0, 0, w, h, Color( 0, 128, 255 ) )
@@ -61,9 +92,14 @@ q.CreateInventorySheet = function(dpanel_parent)
known_inventories[k]:AddObserver(prox)
end
invsheet:AddSheet( v.Name, tpanel, "icon16/tab.png" )
+ ]]
end
return invsheet
end
+concommand.Add("PrintKnownInventories",function(ply,cmd,args)
+ PrintTable(known_inventories)
+end)
+
return q