--[[ | This file was obtained through the combined efforts | of Madbluntz & Plymouth Antiquarian Society. | | Credits: lifestorm, Gregory Wayne Rossel JR., | Maloy, DrPepper10 @ RIP, Atle! | | Visit for more: https://plymouth.thetwilightzone.ru/ --]] 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" )