43 lines
1.5 KiB
Lua
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)
|