diff options
| author | Alexander Pickering <alexandermpickering@gmail.com> | 2017-11-04 22:42:24 -0400 |
|---|---|---|
| committer | Alexander Pickering <alexandermpickering@gmail.com> | 2017-11-04 22:42:24 -0400 |
| commit | 5d77d8475af7aff27eb026a4b56065387c024165 (patch) | |
| tree | ccdd061e5654288ab53134be52e8b1ef194d5ebc /gamemode/inventorysystem/prayers | |
| parent | 40080dcfde028c64c4f6f51792b928ee91677bc6 (diff) | |
| download | artery-5d77d8475af7aff27eb026a4b56065387c024165.tar.gz artery-5d77d8475af7aff27eb026a4b56065387c024165.tar.bz2 artery-5d77d8475af7aff27eb026a4b56065387c024165.zip | |
Massive changes
* New error messages for missing dependencies
* Removed useless art_serverchanger entity
* Added a sweet ascii logo
* Added Skills
* Minor fixes to cl_inventory tracker
* Changed a few prints to use logging module
Diffstat (limited to 'gamemode/inventorysystem/prayers')
| -rw-r--r-- | gamemode/inventorysystem/prayers/cl_prayers.lua | 31 | ||||
| -rw-r--r-- | gamemode/inventorysystem/prayers/sh_prayers.lua | 5 |
2 files changed, 31 insertions, 5 deletions
diff --git a/gamemode/inventorysystem/prayers/cl_prayers.lua b/gamemode/inventorysystem/prayers/cl_prayers.lua index aba778e..afea1cc 100644 --- a/gamemode/inventorysystem/prayers/cl_prayers.lua +++ b/gamemode/inventorysystem/prayers/cl_prayers.lua @@ -20,6 +20,13 @@ function pray:DrawOnDPanel(panel) local ap = self.activeprayers[i] explain:SetText(ap ~= nil and ap.Description or "Select a prayer") end + rec:Receiver("prayer",function(s,tbl,dropped,mi,x,y) + if not dropped then return end + self.activeprayers[i] = tbl.item + if tbl.item.DoOnPanel then + tbl.item.DoOnPanel(s) + end + end,{}) agrid:AddItem(rec) end agrid:Dock(TOP) @@ -38,15 +45,31 @@ function pray:DrawOnDPanel(panel) grid:SetCols(4) grid:SetColWide(w) grid:SetRowHeight(w) - for k,v in pairs(self.track) do + local function drawprayer(prayer) local rec = vgui.Create("DImageButton",grid) - rec:SetText(v.Name) + rec:SetText(prayer.Name) rec:SetSize(w,w) - if(v.DoOnPanel) then - v:DoOnPanel(rec) + if(prayer.DoOnPanel) then + prayer:DoOnPanel(rec) end + rec.item = prayer + rec:Droppable("prayer") grid:AddItem(rec) end + + for k,v in pairs(self.track) do + drawprayer(v) + end + + local observer = {} + observer.Put = function(obs,pos,item) + print("Prayer observer got request to put") + drawprayer(item) + end + observer.Remove = function(obs,pos,item) + print("I should never remove a prayer!") + end + return observer end --Rebind f1, f2, f3, f4 to prayers diff --git a/gamemode/inventorysystem/prayers/sh_prayers.lua b/gamemode/inventorysystem/prayers/sh_prayers.lua index 15cd2af..e1e7347 100644 --- a/gamemode/inventorysystem/prayers/sh_prayers.lua +++ b/gamemode/inventorysystem/prayers/sh_prayers.lua @@ -14,7 +14,10 @@ end inv.Name = "Prayers" inv.track = {} function inv:FindPlaceFor(item) - return {#track} + if item.isprayer then + return {#self.track} + end + return nil end function inv:CanFitIn(pos,item) return pos[1] == #self.track |
