-
Notifications
You must be signed in to change notification settings - Fork 841
Expand file tree
/
Copy pathdmodelselect.lua
More file actions
51 lines (33 loc) · 1.07 KB
/
dmodelselect.lua
File metadata and controls
51 lines (33 loc) · 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
local PANEL = {}
function PANEL:Init()
self:EnableVerticalScrollbar()
self:SetHeight( 2 )
end
function PANEL:SetHeight( numHeight )
self:SetTall( 66 * ( numHeight or 2 ) + 2 )
end
function PANEL:SetModelList( modelList, conVar, dontSort, dontCallListConVars )
for model, v in pairs( modelList ) do
local icon = vgui.Create( "SpawnIcon" )
icon:SetModel( model )
icon:SetSize( 64, 64 )
icon:SetTooltip( model )
icon.Model = model
icon.ConVars = v
local convars = {}
-- some model lists, like from wheels, have extra convars in the ModelList
-- we'll need to add those too
if ( !dontCallListConVars && istable( v ) ) then
table.Merge( convars, v ) -- copy them in to new list
end
-- make strConVar optional so we can have everything in the ModelList instead, if we want to
if ( conVar ) then
convars[ conVar ] = model
end
self:AddPanel( icon, convars )
end
if ( !dontSort ) then
self:SortByMember( "Model", false )
end
end
derma.DefineControl( "DModelSelect", "", PANEL, "DPanelSelect" )