mirror of
https://github.com/lifestorm/wnsrc.git
synced 2025-12-17 21:53:46 +03:00
Upload
This commit is contained in:
118
gamemodes/sandbox/gamemode/spawnmenu/controls/ctrllistbox.lua
Normal file
118
gamemodes/sandbox/gamemode/spawnmenu/controls/ctrllistbox.lua
Normal file
@@ -0,0 +1,118 @@
|
||||
--[[
|
||||
| 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 = {}
|
||||
|
||||
--AccessorFunc( PANEL, "m_ConVarR", "ConVarR" )
|
||||
|
||||
--[[---------------------------------------------------------
|
||||
Name: Init
|
||||
-----------------------------------------------------------]]
|
||||
function PANEL:Init()
|
||||
|
||||
self.ConVars = {}
|
||||
self.Options = {}
|
||||
|
||||
end
|
||||
|
||||
--[[---------------------------------------------------------
|
||||
Name: AddOption
|
||||
-----------------------------------------------------------]]
|
||||
function PANEL:AddOption( strName, tabConVars )
|
||||
|
||||
self:AddChoice( strName, tabConVars )
|
||||
|
||||
for k, v in pairs( tabConVars ) do
|
||||
self.ConVars[ k ] = 1
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
--[[---------------------------------------------------------
|
||||
Name: OnSelect
|
||||
-----------------------------------------------------------]]
|
||||
function PANEL:OnSelect( index, value, data )
|
||||
|
||||
for k, v in pairs( data ) do
|
||||
|
||||
RunConsoleCommand( k, tostring( v ) )
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
--[[---------------------------------------------------------
|
||||
Name: Think
|
||||
-----------------------------------------------------------]]
|
||||
function PANEL:Think( CheckConvarChanges )
|
||||
|
||||
self:CheckConVarChanges()
|
||||
|
||||
end
|
||||
|
||||
--[[---------------------------------------------------------
|
||||
Name: ConVarsChanged
|
||||
-----------------------------------------------------------]]
|
||||
function PANEL:ConVarsChanged()
|
||||
|
||||
for k, v in pairs( self.ConVars ) do
|
||||
|
||||
if ( self[ k ] == nil ) then return true end
|
||||
if ( self[ k ] != GetConVarString( k ) ) then return true end
|
||||
|
||||
end
|
||||
|
||||
return false
|
||||
|
||||
end
|
||||
|
||||
--[[---------------------------------------------------------
|
||||
Name: CheckForMatch
|
||||
-----------------------------------------------------------]]
|
||||
function PANEL:CheckForMatch( cvars )
|
||||
|
||||
if ( table.IsEmpty( cvars ) ) then return false end
|
||||
|
||||
for k, v in pairs( cvars ) do
|
||||
|
||||
if ( tostring(v) != GetConVarString( k ) ) then
|
||||
return false
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
return true
|
||||
|
||||
end
|
||||
|
||||
--[[---------------------------------------------------------
|
||||
Name: CheckConVarChanges
|
||||
-----------------------------------------------------------]]
|
||||
function PANEL:CheckConVarChanges()
|
||||
|
||||
if (!self:ConVarsChanged()) then return end
|
||||
|
||||
for k, v in pairs( self.ConVars ) do
|
||||
self[ k ] = GetConVarString( k )
|
||||
end
|
||||
|
||||
for k, v in pairs( self.Data ) do
|
||||
|
||||
if ( self:CheckForMatch( v ) ) then
|
||||
self:SetText( self:GetOptionText(k) )
|
||||
return
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
vgui.Register( "CtrlListBox", PANEL, "DComboBox" )
|
||||
Reference in New Issue
Block a user