init commit
This commit is contained in:
63
lua/squad_menu/client/config.lua
Normal file
63
lua/squad_menu/client/config.lua
Normal file
@@ -0,0 +1,63 @@
|
||||
local Config = SquadMenu.Config or {}
|
||||
|
||||
SquadMenu.Config = Config
|
||||
|
||||
function Config:Reset()
|
||||
self.showMembers = true
|
||||
self.showRings = true
|
||||
self.showHalos = false
|
||||
self.enableSounds = true
|
||||
|
||||
self.nameDistance = 3000
|
||||
self.haloDistance = 8000
|
||||
self.pingKey = KEY_B
|
||||
end
|
||||
|
||||
function Config:Load()
|
||||
self:Reset()
|
||||
|
||||
local data = file.Read( SquadMenu.DATA_FILE, "DATA" )
|
||||
if not data then return end
|
||||
|
||||
data = SquadMenu.JSONToTable( data )
|
||||
|
||||
self.showMembers = data.showMembers == true
|
||||
self.showRings = data.showRings == true
|
||||
self.showHalos = data.showHalos == true
|
||||
self.enableSounds = data.enableSounds == true
|
||||
|
||||
self.nameDistance = SquadMenu.ValidateNumber( data.nameDistance, 3000, 500, 50000 )
|
||||
self.haloDistance = SquadMenu.ValidateNumber( data.haloDistance, 8000, 500, 50000 )
|
||||
self.pingKey = math.floor( SquadMenu.ValidateNumber( data.pingKey, KEY_B, 1, 159 ) )
|
||||
end
|
||||
|
||||
function Config:Save( immediate )
|
||||
if not immediate then
|
||||
-- avoid spamming the file system
|
||||
timer.Remove( "SquadMenu.SaveConfigDelay" )
|
||||
timer.Create( "SquadMenu.SaveConfigDelay", 0.5, 1, function()
|
||||
self:Save( true )
|
||||
end )
|
||||
|
||||
return
|
||||
end
|
||||
|
||||
local path = SquadMenu.DATA_FILE
|
||||
|
||||
local data = SquadMenu.TableToJSON( {
|
||||
showMembers = self.showMembers,
|
||||
showRings = self.showRings,
|
||||
showHalos = self.showHalos,
|
||||
enableSounds = self.enableSounds,
|
||||
pingKey = self.pingKey
|
||||
} )
|
||||
|
||||
SquadMenu.PrintF( "%s: writing %s", path, string.NiceSize( string.len( data ) ) )
|
||||
file.Write( path, data )
|
||||
|
||||
if SquadMenu.mySquad then
|
||||
SquadMenu:UpdateMembersHUD()
|
||||
end
|
||||
end
|
||||
|
||||
Config:Load()
|
||||
Reference in New Issue
Block a user