Files
The-Only-Cure/media/lua/server/TOC/ServerSyncCommands.lua
2023-11-12 22:20:46 +01:00

43 lines
1.5 KiB
Lua

local CommandsData = require("TOC/CommandsData")
local ServerSyncCommands = {}
local moduleName = CommandsData.modules.TOC_SYNC
------------------------------
-- TODO This is gonna be impossible to manage. We need Global Mod Data to keep track of this kind of stuff at this point
---A client has asked the server to ask another client to send its toc mod data
---@param surgeonPl IsoPlayer
---@param args askPlayerDataParams
function ServerSyncCommands.AskPlayerData(surgeonPl, args)
local patientPl = getSpecificPlayer(args.patientNum)
---@type sendPlayerDataParams
local params = {surgeonNum = surgeonPl:getOnlineID()}
sendServerCommand(patientPl, moduleName, CommandsData.client.Sync.SendPlayerData, params)
end
---Relay the toc mod data from a certain player to another one
---@param patientPl IsoPlayer
---@param args relayPlayerDataParams
function ServerSyncCommands.RelayPlayerData(patientPl, args)
local surgeonPl = getSpecificPlayer(args.surgeonNum)
local patientNum = patientPl:getOnlineID()
---@type receivePlayerDataParams
local params = {patientNum = patientNum, tocData = args.tocData}
sendServerCommand(surgeonPl, moduleName, CommandsData.client.Sync.ReceivePlayerData, params)
end
------------------------------
local function OnClientSyncCommand(module, command, playerObj, args)
if module == moduleName and ServerSyncCommands[command] then
ServerSyncCommands[command](playerObj, args)
end
end
Events.OnClientCommand.Add(OnClientSyncCommand)