I've added categories to my F4 menu but I can't seem to get the whole collapsible part to work. I first created the jobs menu as a dpanel but now i've tried switching to DCollapsibleCategory and the Collapse button just creates itself under my category button?
See photo below of what I mea. Any help/advice is greatly appreciated.
https://files.facepunch.com/forum/upload/310033/8b58fafe-8416-4034-9717-892f596d0675/help.png
local jobsback = vgui.Create("DPanel", pages)
jobsback:Dock( FILL )
jobsback.Paint = function(self, w, h)
end
pages:AddSheet("Jobs", jobsback, "icon16/user.png")
local jobs = vgui.Create("DScrollPanel", jobsback)
jobs:Dock( FILL )
jobs.Paint = function(self, w, h)
surface.SetDrawColor(Color(80, 80, 80, 255))
surface.DrawRect( 0, 0, w, h )
end
local jobinfo = vgui.Create("DPanel", jobsback)
jobinfo:Dock( RIGHT )
jobinfo:SetSize(400, 100)
jobinfo:DockMargin(2, 0, 0, 0)
jobinfo.Paint = function(self, w, h)
surface.SetDrawColor(Color(80, 80, 80, 255))
surface.DrawRect( 0, 0, w, h )
end
for k, v in pairs(RPExtraTeams) do
local category = v.category
if not IsValid( jobs[category]) then
jobs[category] = vgui.Create("DCollapsibleCategory", jobs)
jobs[category]:Dock( TOP )
jobs[category]:SetPos(0,0)
jobs[category]:SetExpanded(1)
jobs[category]:SetLabel(v.name)
jobs[category]:SetSize(0, 30)
jobs[category]:DockMargin(0, 0, 0, 1)
jobs[category]:DockPadding(0, 30, 0, 0)
jobs[category].PaintOver = function(self, w, h)
local bgColor = self.color or Color(90, 90, 90, 255)
surface.SetDrawColor(v.color)
surface.DrawRect( 0, 0, w, 30 )
surface.SetFont("Trebuchet24")
surface.SetTextColor(Color(255,255,255))
surface.SetTextPos(0,0)
surface.DrawText(category)
end
jobs[category].jobCount = 0
end
local Tcategories = DarkRP.getCategories().jobs
for k, v in pairs( Tcategories ) do
if(category == v.name) then
jobs[category].color = v.color
end
end
jobs[category].jobCount = jobs[category].jobCount + 1
jobs[category]:SetSize( 0, (jobs[category].jobCount * 32) + 30)
local jobtile = vgui.Create("DPanel", jobs[category])
jobtile:Dock( TOP )
jobtile:SetSize(0, 30)
jobtile:DockMargin(0, 1, 0, 1)
jobtile.Paint = function(self, w, h)
surface.SetDrawColor( v.color )
surface.DrawRect( 0, 0, w, h )
end
local jobicon = vgui.Create("DPanel", jobtile)
jobicon:Dock( LEFT )
jobicon:SetSize(30, 30)
jobicon:DockMargin(2, 2, 2, 2)
jobicon.Paint = function(self, w, h)
--surface.SetDrawColor( Color(255, 0, 0) )
--surface.DrawRect( 0, 0, w, h )
end
local jobmodel = vgui.Create("SpawnIcon", jobicon)
jobmodel:Dock(TOP)
jobmodel:SetSize(30, 30)
jobmodel:DockMargin(0,0,0,0)
jobmodel:SetModel( v.model[1] )
local IconModel = v.model
if type(v.model) == "table" then
IconModel = v.model[math.random(#v.model)]
end
jobmodel:SetModel(IconModel)
local jobname = vgui.Create("DLabel", jobtile)
jobname:SetText(v.name)
jobname:Dock(TOP)
jobname:DockMargin(5, 5, 5, 5)
jobname:SetFont("Trebuchet24")
jobname:SetTextColor( Color(255, 255, 255, 255) )
surface.SetFont("Trebuchet24")
local slotX, slotY = surface.GetTextSize( team.NumPlayers( v.team ).."/"..v.max )
local slots = vgui.Create("DLabel", jobtile) -- Job Slots eg 1/10
slots:SetText(team.NumPlayers( v.team ).."/"..v.max)
slots:DockMargin(5, 5, 5, 5)
slots:SetPos(360, 15 - slotY/2)
slots:SetFont("Trebuchet24")
slots:SetTextColor( Color(255, 255, 255, 255) )
local jobbutton = vgui.Create("DButton", jobtile) -- Become Job
jobbutton:SetText("")
jobbutton:SetSize(600, 40)
jobbutton:SetMouseInputEnabled(true)
jobbutton.Paint = function(self, w, h)
end
Sorry, you need to Log In to post a reply to this thread.