/// <summary> /// Sends the parsed config nodes to the server after doing basic checks /// </summary> private void SendModulesConfigNodes() { ScenarioData.Clear(); ScenarioName.Clear(); foreach (var scenarioConfigNode in ScenariosConfigNodes) { var scenarioBytes = ConfigNodeSerializer.Serialize(scenarioConfigNode.Item2); var scenarioHash = Common.CalculateSha256Hash(scenarioBytes); if (scenarioBytes.Length == 0) { LunaLog.Log($"[LMP]: Error writing scenario data for {scenarioConfigNode.Item1}"); continue; } //Data is the same since last time - Skip it. if (CheckData.ContainsKey(scenarioConfigNode.Item1) && CheckData[scenarioConfigNode.Item1] == scenarioHash) { continue; } CheckData[scenarioConfigNode.Item1] = scenarioHash; ScenarioName.Add(scenarioConfigNode.Item1); ScenarioData.Add(scenarioBytes); } if (ScenarioName.Any()) { MessageSender.SendScenarioModuleData(ScenarioName, ScenarioData); } }