mirror of
https://github.com/Michatec/wk_wars2x.git
synced 2026-04-01 08:26:27 +02:00
refactor: cleanup sync backup code
This commit is contained in:
95
cl_sync.lua
95
cl_sync.lua
@@ -32,6 +32,24 @@
|
|||||||
|
|
||||||
DecorRegister( "wk_wars2x_sync_remoteOpen", 2 )
|
DecorRegister( "wk_wars2x_sync_remoteOpen", 2 )
|
||||||
|
|
||||||
|
local function RestoreData( obj, getFunc, setFunc, setBackupFunc, key )
|
||||||
|
if ( key ~= nil ) then
|
||||||
|
local data = getFunc( obj, key )
|
||||||
|
|
||||||
|
if ( data ~= nil ) then
|
||||||
|
setFunc( obj, key, data )
|
||||||
|
setBackupFunc( obj, key, nil )
|
||||||
|
end
|
||||||
|
else
|
||||||
|
local data = getFunc( obj )
|
||||||
|
|
||||||
|
if ( data ~= nil ) then
|
||||||
|
setFunc( obj, data )
|
||||||
|
setBackupFunc( obj, nil )
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
--[[----------------------------------------------------------------------------------
|
--[[----------------------------------------------------------------------------------
|
||||||
Plate reader sync variables and functions
|
Plate reader sync variables and functions
|
||||||
@@ -57,13 +75,8 @@ function READER:SetReaderCamData( cam, data )
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function READER:GetBackupReaderData( cam )
|
function READER:GetBackupReaderData( cam ) return self.backupData.cams[cam] end
|
||||||
return self.backupData.cams[cam]
|
function READER:SetBackupReaderData( cam, data ) self.backupData.cams[cam] = data end
|
||||||
end
|
|
||||||
|
|
||||||
function READER:SetBackupReaderData( cam, data )
|
|
||||||
self.backupData.cams[cam] = data
|
|
||||||
end
|
|
||||||
|
|
||||||
function READER:IsThereBackupData()
|
function READER:IsThereBackupData()
|
||||||
return self:GetBackupReaderData( "front" ) ~= nil or self:GetBackupReaderData( "rear" ) ~= nil
|
return self:GetBackupReaderData( "front" ) ~= nil or self:GetBackupReaderData( "rear" ) ~= nil
|
||||||
@@ -88,25 +101,16 @@ function READER:LoadDataFromDriver( data )
|
|||||||
-- Set the camera data
|
-- Set the camera data
|
||||||
for cam in UTIL:Values( { "front", "rear" } ) do
|
for cam in UTIL:Values( { "front", "rear" } ) do
|
||||||
self:SetReaderCamData( cam, data[cam] )
|
self:SetReaderCamData( cam, data[cam] )
|
||||||
|
end
|
||||||
|
|
||||||
self:ForceNUIUpdate( true )
|
self:ForceNUIUpdate( true )
|
||||||
end
|
|
||||||
end )
|
end )
|
||||||
end
|
end
|
||||||
|
|
||||||
function READER:RestoreFromBackup()
|
function READER:RestoreFromBackup()
|
||||||
-- Iterate through the cameras and restore their backups
|
-- Iterate through the cameras and restore their backups
|
||||||
for cam in UTIL:Values( { "front", "rear" } ) do
|
for cam in UTIL:Values( { "front", "rear" } ) do
|
||||||
-- Get the camera backup data
|
RestoreData( READER, READER.GetBackupReaderData, READER.SetReaderCamData, READER.SetBackupReaderData, cam )
|
||||||
local camData = self:GetBackupReaderData( cam )
|
|
||||||
|
|
||||||
-- Restore the camera data
|
|
||||||
if ( camData ~= nil ) then
|
|
||||||
self:SetReaderCamData( cam, camData )
|
|
||||||
|
|
||||||
-- Clear the backup
|
|
||||||
self:SetBackupReaderData( cam, nil )
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
self:ForceNUIUpdate( true )
|
self:ForceNUIUpdate( true )
|
||||||
@@ -135,9 +139,7 @@ function RADAR:GetRadarDataForSync()
|
|||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
function RADAR:GetOMTableData()
|
function RADAR:GetOMTableData() return self.vars.settings end
|
||||||
return self.vars.settings
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Sets the operator menu settings table within the radar's main variables table
|
-- Sets the operator menu settings table within the radar's main variables table
|
||||||
function RADAR:SetOMTableData( data )
|
function RADAR:SetOMTableData( data )
|
||||||
@@ -154,29 +156,14 @@ function RADAR:SetAntennaTableData( ant, data )
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function RADAR:GetBackupPowerState()
|
function RADAR:GetBackupPowerState() return self.backupData.power end
|
||||||
return self.backupData.power
|
function RADAR:SetBackupPowerState( state ) self.backupData.power = state end
|
||||||
end
|
|
||||||
|
|
||||||
function RADAR:GetBackupOMData()
|
function RADAR:GetBackupOMData() return self.backupData.om end
|
||||||
return self.backupData.om
|
function RADAR:SetBackupOMData( data ) self.backupData.om = data end
|
||||||
end
|
|
||||||
|
|
||||||
function RADAR:GetBackupAntennaData( ant )
|
function RADAR:GetBackupAntennaData( ant ) return self.backupData.antennas[ant] end
|
||||||
return self.backupData.antennas[ant]
|
function RADAR:SetBackupAntennaData( ant, data ) self.backupData.antennas[ant] = data end
|
||||||
end
|
|
||||||
|
|
||||||
function RADAR:SetBackupPowerState( state )
|
|
||||||
self.backupData.power = state
|
|
||||||
end
|
|
||||||
|
|
||||||
function RADAR:SetBackupOMData( data )
|
|
||||||
self.backupData.om = data
|
|
||||||
end
|
|
||||||
|
|
||||||
function RADAR:SetBackupAntennaData( ant, data )
|
|
||||||
self.backupData.antennas[ant] = data
|
|
||||||
end
|
|
||||||
|
|
||||||
function RADAR:IsThereBackupData()
|
function RADAR:IsThereBackupData()
|
||||||
return self:GetBackupOMData() ~= nil or self:GetBackupAntennaData( "front" ) ~= nil or self:GetBackupAntennaData( "rear" ) ~= nil
|
return self:GetBackupOMData() ~= nil or self:GetBackupAntennaData( "front" ) ~= nil or self:GetBackupAntennaData( "rear" ) ~= nil
|
||||||
@@ -232,37 +219,20 @@ end
|
|||||||
|
|
||||||
-- Restores the local player's operator menu and antenna data
|
-- Restores the local player's operator menu and antenna data
|
||||||
function RADAR:RestoreFromBackup()
|
function RADAR:RestoreFromBackup()
|
||||||
-- Get the operator menu data
|
|
||||||
local omData = self:GetBackupOMData()
|
|
||||||
|
|
||||||
-- Restore the operator menu data
|
-- Restore the operator menu data
|
||||||
if ( omData ~= nil ) then
|
RestoreData( RADAR, RADAR.GetBackupOMData, RADAR.SetOMTableData, RADAR.SetBackupOMData )
|
||||||
self:SetOMTableData( omData )
|
|
||||||
|
|
||||||
-- Clear the backup
|
|
||||||
self:SetBackupOMData( nil )
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Iterate through the antennas and restore their backups
|
-- Iterate through the antennas and restore their backups
|
||||||
for ant in UTIL:Values( { "front", "rear" } ) do
|
for ant in UTIL:Values( { "front", "rear" } ) do
|
||||||
-- Get the antenna backup data
|
RestoreData( RADAR, RADAR.GetBackupAntennaData, RADAR.SetAntennaTableData, RADAR.SetBackupAntennaData, ant )
|
||||||
local antData = self:GetBackupAntennaData( ant )
|
|
||||||
|
|
||||||
-- Restore the antenna data
|
|
||||||
if ( antData ~= nil ) then
|
|
||||||
self:SetAntennaTableData( ant, antData )
|
|
||||||
|
|
||||||
-- Clear the backup
|
|
||||||
self:SetBackupAntennaData( ant, nil )
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Get the power state
|
-- Get the power state
|
||||||
local pwrState = self:GetBackupPowerState()
|
local pwrState = self:GetBackupPowerState()
|
||||||
|
|
||||||
|
-- Restore the power state
|
||||||
if ( pwrState ~= nil ) then
|
if ( pwrState ~= nil ) then
|
||||||
self:SetPowerState( pwrState, true )
|
self:SetPowerState( pwrState, true )
|
||||||
|
|
||||||
self:SetBackupPowerState( nil )
|
self:SetBackupPowerState( nil )
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -342,6 +312,7 @@ function SYNC:SendUpdatedOMData( data )
|
|||||||
end )
|
end )
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Sends the plate reader lock event with the data from the reader that was locked
|
||||||
function SYNC:LockReaderCam( cam, data )
|
function SYNC:LockReaderCam( cam, data )
|
||||||
self:SyncData( function( ply )
|
self:SyncData( function( ply )
|
||||||
TriggerServerEvent( "wk_wars2x_sync:sendLockCameraPlate", ply, cam, data )
|
TriggerServerEvent( "wk_wars2x_sync:sendLockCameraPlate", ply, cam, data )
|
||||||
|
|||||||
Reference in New Issue
Block a user