public static void ParseReceivedScenarioData(ClientStructure client, ScenarioBaseMsgData messageData) { var data = (ScenarioDataMsgData)messageData; LunaLog.Debug($"Saving {data.ScenarioCount} scenario modules from {client.PlayerName}"); for (var i = 0; i < data.ScenarioCount; i++) { var scenarioAsConfigNode = Encoding.UTF8.GetString(data.ScenariosData[i].Data, 0, data.ScenariosData[i].NumBytes); ScenarioDataUpdater.RawConfigNodeInsertOrUpdate(data.ScenariosData[i].Module, scenarioAsConfigNode); } }
public static void ParseReceivedScenarioData(ClientStructure client, ScenarioBaseMsgData messageData) { var data = (ScenarioDataMsgData)messageData; LunaLog.Debug($"Saving {data.ScenarioCount} scenario modules from {client.PlayerName}"); for (var i = 0; i < data.ScenarioCount; i++) { var path = Path.Combine(ServerContext.UniverseDirectory, "Scenarios", $"{data.ScenariosData[i].Module}.txt"); FileHandler.WriteToFile(path, data.ScenariosData[i].Data, data.ScenariosData[i].NumBytes); } }
private static void QueueAllReceivedScenarios(ScenarioBaseMsgData msgData) { var data = (ScenarioDataMsgData)msgData; for (var i = 0; i < data.ScenarioCount; i++) { QueueScenarioBytes(data.ScenariosData[i].Module, data.ScenariosData[i].Data, data.ScenariosData[i].NumBytes); } if (MainSystem.NetworkState < ClientState.ScenariosSynced) { MainSystem.NetworkState = ClientState.ScenariosSynced; } }