diff options
| -rw-r--r-- | gamemode/client/cl_inventory.lua | 77 |
1 files changed, 69 insertions, 8 deletions
diff --git a/gamemode/client/cl_inventory.lua b/gamemode/client/cl_inventory.lua index c4e1134..9a19fa7 100644 --- a/gamemode/client/cl_inventory.lua +++ b/gamemode/client/cl_inventory.lua @@ -497,24 +497,49 @@ function PANEL:Init() draw.RoundedBox( 4, 0, 0, self:GetWide(), self:GetTall(), Color( 75, 75, 75 ) ) end - self.ControlPanel = vgui.Create("DForm",self) - self.ControlPanel:SetSize((dPanelWidth*2)/3,dPanelWidth) - self.ControlPanel:SetPos(dPanelWidth/3,0) + self.Encapsulate = vgui.Create("DScrollPanel",self) + self.Encapsulate:SetSize((dPanelWidth*2)/3,dPanelHeight) + self.Encapsulate:SetPos(dPanelWidth/3,0) + + self.ControlPanel = vgui.Create("DForm",self.Encapsulate) + self.ControlPanel:SetSize((dPanelWidth*2)/3,dPanelHeight) + self.ControlPanel:SetPos(0,0) self.PanelProxy = {} self.PanelProxy.cp = self.ControlPanel - self.PanelProxy.MatSelect = function(cmd,matlist,bool,x,y) + self.PanelProxy.MatSelect = function(self,cmd,matlist,bool,x,y) print("MatSelect's cmd is:") - PrintTable(cmd) - local grid = vgui.Create( "DGrid", frame ) - grid:SetPos( 10, 30 ) + print(cmd) + local grid = vgui.Create( "DGrid" ) + grid:SetPos( 0, 0 ) grid:SetCols( 5 ) - grid:SetColWide( 36 ) + grid:SetColWide( 64 ) + grid:SetRowHeight( 64 ) local MatSelectPanel = {} MatSelectPanel.AddMaterial = function(name, path) print("Adding material:") PrintTable(name) end + if(matlist != nil) then + for k,v in pairs(matlist) do + local vitem = vgui.Create("DButton") + vitem:SetText("") + vitem:SetSize(64,64) + --print("Adding item for:" .. v) + vitem:SetImage(v) + vitem.DoClick = function() + print("Running " .. cmd .. " " .. v) + RunConsoleCommand(cmd, v) + end + vitem.Paint = function(self,w,h) + if(self:IsDown()) then + surface.DrawRect( 0, 0, w, h ) + end + end + grid:AddItem(vitem) + end + end + self.cp:AddItem(grid) return MatSelectPanel end self.PanelProxy.ClearControls = function() @@ -559,6 +584,7 @@ function PANEL:Init() print("Color convars are:") PrintTable(colorvars) color_cube:SetColor( curcolor ) + color_cube:SetSize(200,200) function color:OnChange(tocolor) color_cube:SetColor( tocolor ) @@ -570,6 +596,41 @@ function PANEL:Init() GetConVar(colorvars["Blue"]):SetInt(t.b) end self.cp:AddItem(color,color_cube) + elseif(type == "ComboBox") then + local DComboBox = vgui.Create( "DComboBox" ) + for k,v in pairs(table.Options) do + DComboBox:AddChoice(k,v) + end + DComboBox.OnSelect = function( panel, index, value ) + for k,v in pairs(table.Options[value]) do + print("Setting " .. k .. " to " .. v) + GetConVar(k):SetInt(v) + end + end + self.cp:AddItem(DComboBox) + elseif(type == "PropSelect") then + local grid = vgui.Create( "DGrid" ) + grid:SetSize(256,64) + grid:SetPos( 0, 0 ) + grid:SetCols( 3 ) + grid:SetColWide( 128 ) + grid:SetRowHeight(64) + grid:SetPos( 10, 30 ) + grid:SetCols( 5 ) + grid:SetColWide( 36 ) + for k,v in pairs(table.Models) do + local icon = vgui.Create( "DModelPanel", Panel ) + icon:SetSize( 64, 64 ) + icon:SetSize( 32, 32 ) + icon:SetModel( k ) + icon:SetCamPos( Vector( 15,15,15 ) ) + icon:SetLookAt( Vector( 0, 0, 1 ) ) + icon.DoClick = function() + GetConVar(table.ConVar):SetString(k) + end + grid:AddItem(icon) + end + self.cp:AddItem(grid) elseif(type == "Label") then self.cp:AddItem(vgui.Create("DLabel"):SetText(table.Text)) elseif(type == "Button") then |
