From a22cbeddc5f8fb61e87a30aa14ba354de5cf4431 Mon Sep 17 00:00:00 2001 From: Alexander Pickering Date: Sat, 18 Feb 2017 21:55:55 -0500 Subject: Updates --- gamemode/inventorysystem/cl_common.lua | 17 ++++++++++++++ .../inventorysystem/equipment/cl_equipment.lua | 26 ++++++++++++---------- .../inventorysystem/equipment/sh_equipment.lua | 5 +++-- .../inventorysystem/shapedinventory/cl_shaped.lua | 11 ++++++--- .../inventorysystem/shapedinventory/sh_shaped.lua | 2 +- 5 files changed, 43 insertions(+), 18 deletions(-) (limited to 'gamemode/inventorysystem') diff --git a/gamemode/inventorysystem/cl_common.lua b/gamemode/inventorysystem/cl_common.lua index 07fc786..15f67b4 100644 --- a/gamemode/inventorysystem/cl_common.lua +++ b/gamemode/inventorysystem/cl_common.lua @@ -24,6 +24,9 @@ function com.generatereceiver() local frominv,toinv = panels[1].info.inv,self.info.inv print("Something was dropped on:",x,y) PrintTable(panels) + print("self is", self) + print("self.info is", self.info) + PrintTable(self.info) print("froment:",froment) print("toent:",toent) print("fromid",fromid) @@ -34,6 +37,20 @@ function com.generatereceiver() PrintTable(self.info.pos) print("frominv",frominv) print("toinv",toinv) + + --Do nothing if we don't actually want to move anything anywhere + local posequal = true + if (froment ~= toent) or (fromid ~= toid) or (frominv ~= toinv) then posequal = false end + if posequal then + for k,v in pairs(frompos) do + if topos[k] ~= v then + posequal = false + break + end + end + end + if posequal then return end + local item = frominv:Get(frompos) print("item was", item) --Fake remove the item, in case the position we want to move it to overlaps with where it is now. diff --git a/gamemode/inventorysystem/equipment/cl_equipment.lua b/gamemode/inventorysystem/equipment/cl_equipment.lua index 7abd27a..22458c7 100644 --- a/gamemode/inventorysystem/equipment/cl_equipment.lua +++ b/gamemode/inventorysystem/equipment/cl_equipment.lua @@ -7,64 +7,66 @@ local inv = {} local width, height = (ScrW() / 4) - 25, ScrH() local iconsize = width / 5 -local ringmat = svg.MaterialFromSVG("materials/svg/delapouite/originals/svg/000000/transparent/ring.svg") +local ucol = col.console.black + +local ringmat = svg.MaterialFromSVG("materials/svg/delapouite/originals/svg/000000/transparent/ring.svg", nil, ucol) --Positions for the eqipment inventory local eqp = { ["Head"] = { x = (width / 2) - (iconsize / 2), y = 0, - img = svg.MaterialFromSVG("materials/svg/lorc/originals/svg/000000/transparent/cracked-helm.svg"), + img = svg.MaterialFromSVG("materials/svg/lorc/originals/svg/000000/transparent/cracked-helm.svg", nil, ucol), }, ["Shoulders"] = { x = (width / 2) - (iconsize / 2), y = iconsize, - img = svg.MaterialFromSVG("materials/svg/skoll/originals/svg/000000/transparent/pauldrons.svg") + img = svg.MaterialFromSVG("materials/svg/skoll/originals/svg/000000/transparent/pauldrons.svg", nil, ucol) }, ["Chest"] = { x = width / 2, y = iconsize * 2, - img = svg.MaterialFromSVG("materials/svg/willdabeast/deviations/svg/000000/transparent/chain-mail.svg") + img = svg.MaterialFromSVG("materials/svg/willdabeast/deviations/svg/000000/transparent/chain-mail.svg", nil, ucol) }, ["Back"] = { x = (width / 2) - iconsize, y = iconsize * 2, - img = svg.MaterialFromSVG("materials/svg/lorc/originals/svg/000000/transparent/knapsack.svg"), + img = svg.MaterialFromSVG("materials/svg/lorc/originals/svg/000000/transparent/knapsack.svg", nil, ucol), }, ["Arms"] = { x = (width / 2) - (iconsize / 2), y = iconsize * 3, - img = svg.MaterialFromSVG("materials/svg/skoll/originals/svg/000000/transparent/bracers.svg") + img = svg.MaterialFromSVG("materials/svg/skoll/originals/svg/000000/transparent/bracers.svg", nil, ucol) }, ["Belt"] = { x = (width / 2) - (iconsize * 1.5), y = iconsize * 3, - img = svg.MaterialFromSVG("materials/svg/lucasms/equipment/svg/000000/transparent/belt.svg") + img = svg.MaterialFromSVG("materials/svg/lucasms/equipment/svg/000000/transparent/belt.svg", nil, ucol) }, ["Gloves"] = { x = (width / 2) + (iconsize / 2), y = iconsize * 3, - img = svg.MaterialFromSVG("materials/svg/delapouite/originals/svg/000000/transparent/gloves.svg") + img = svg.MaterialFromSVG("materials/svg/delapouite/originals/svg/000000/transparent/gloves.svg", nil, ucol) }, ["Left Hand"] = { x = width / 2, y = iconsize * 4, - img = svg.MaterialFromSVG("materials/svg/sbed/originals/svg/000000/transparent/shield.svg") + img = svg.MaterialFromSVG("materials/svg/sbed/originals/svg/000000/transparent/shield.svg", nil, ucol) }, ["Right Hand"] = { x = (width / 2) - iconsize, y = iconsize * 4, - img = svg.MaterialFromSVG("materials/svg/delapouite/originals/svg/000000/transparent/thor-hammer.svg") + img = svg.MaterialFromSVG("materials/svg/delapouite/originals/svg/000000/transparent/thor-hammer.svg", nil, ucol) }, ["Legs"] = { x = (width / 2) - iconsize, y = iconsize * 5, - img = svg.MaterialFromSVG("materials/svg/irongamer/originals/svg/000000/transparent/armored-pants.svg") + img = svg.MaterialFromSVG("materials/svg/irongamer/originals/svg/000000/transparent/armored-pants.svg", nil, ucol) }, ["Feet"] = { x = width / 2, y = iconsize * 5, - img = svg.MaterialFromSVG("materials/svg/lorc/originals/svg/000000/transparent/boots.svg"), + img = svg.MaterialFromSVG("materials/svg/lorc/originals/svg/000000/transparent/boots.svg", nil, ucol), }, ["Ring 1"] = { x = 0, diff --git a/gamemode/inventorysystem/equipment/sh_equipment.lua b/gamemode/inventorysystem/equipment/sh_equipment.lua index 3c30df15..793eeac 100644 --- a/gamemode/inventorysystem/equipment/sh_equipment.lua +++ b/gamemode/inventorysystem/equipment/sh_equipment.lua @@ -4,6 +4,7 @@ local itm = nrequire("item.lua") local ste = nrequire("utility/stream.lua") local inventory = nrequire("inventory/inventory.lua") +local col = nrequire("config/colortheme.lua") print("Got invnetory table, it is:") PrintTable(inventory) local slots = { @@ -77,7 +78,7 @@ end inv.Put = function(self,position,item) self.equiped[position[1]] = item - if item.onEquip then item:onEquip(self.owner) end + if item.onEquip then item:onEquip(self.Owner) end end inv.Has = function(self,string_or_compare_func) @@ -97,7 +98,7 @@ end inv.Remove = function(self,position) local item = self.equiped[position[1]] - if item.onUnEquip then item:onUnEquip(self.owner) end + if item.onUnEquip then item:onUnEquip(self.Owner) end self.equiped[position[1]] = nil end diff --git a/gamemode/inventorysystem/shapedinventory/cl_shaped.lua b/gamemode/inventorysystem/shapedinventory/cl_shaped.lua index 3bd84c2..c40ffa0 100644 --- a/gamemode/inventorysystem/shapedinventory/cl_shaped.lua +++ b/gamemode/inventorysystem/shapedinventory/cl_shaped.lua @@ -1,5 +1,6 @@ local com = nrequire("cl_common.lua") +local col = nrequire("config/colortheme.lua") local inv = {} @@ -8,7 +9,9 @@ local width = ScrW() local iconsize = width / 40 local function default_paint(self,w,h) - draw.RoundedBox( 8, 0, 0, w, h, Color( 0, 0, 0 ) ) + --Draw a box + surface.SetDrawColor(col.ui.border) + surface.DrawOutlinedRect( 0, 0, w, h ) end --[[ @@ -44,6 +47,7 @@ end local function drawitemat(self,x,y,item) print("Drawing item at ",x,y) local tp = self.gridpanels[x][y] + tp:Droppable("item") runonshape(self,item.Shape,x,y,function(panel) panel:SetVisible(false) end) @@ -60,6 +64,7 @@ end --Reset the position, using the item and it's shape local function undrawitemat(self,x,y) local item = self:Get({x,y}) + self.gridpanels[x][y]:Droppable("") runonshape(self,item.Shape,x,y,function(panel) panel:SetVisible(true) panel:SetSize(iconsize,iconsize) @@ -132,10 +137,10 @@ inv.DrawOnDPanel = function(self,panel) local dp = vgui.Create("DButton") dp:SetSize(iconsize,iconsize) dp.Paint = default_paint - dp:Droppable("item") + --dp:Droppable("item") dp:Receiver("item",com.generatereceiver(),{"one","two","three"}) dp.info = {} - dp.info.owner = LocalPlayer() + dp.info.owner = self.Owner dp.info.id = self.id dp.info.pos = {x,y} dp.info.inv = self diff --git a/gamemode/inventorysystem/shapedinventory/sh_shaped.lua b/gamemode/inventorysystem/shapedinventory/sh_shaped.lua index de7ccd9..00beb7f 100644 --- a/gamemode/inventorysystem/shapedinventory/sh_shaped.lua +++ b/gamemode/inventorysystem/shapedinventory/sh_shaped.lua @@ -24,7 +24,7 @@ local function canfitin(self,x,y,shape) local absx,absy = x + rn - 1, y + cn - 1 local slot = calcposition(self.dimx,self.dimy,absx,absy) print("Checking slot", slot) - if col and ((self.tracker[slot] ~= nil) or (slot > self.dimx * self.dimy)) then + if col and ((self.tracker[slot] ~= nil) or (absx > self.dimx) or (absy > self.dimy)) then return false end end -- cgit v1.2.3-70-g09d2