using Cysharp.Threading.Tasks; using KYFramework; using KYFramework.Network; using SimulationServer.Utils; namespace SimulationServer; [MessageHandler] public class C2S_GetReportMessageHandler : AMRpcHandler { protected override UniTask Run(Session session, C2S_GetReport message, S2C_GetReport response, Action reply) { var taskSys = Game.Scene.GetComponent(); foreach (MHRescueMission mission in taskSys.MHRescueMissions) { ResportWithTaskName end = new ResportWithTaskName(); end.FirePointId = mission.FireGround.FirePointName; foreach (var kv in mission.singleReport) { EntitySheetReportValue aircraftValue = Util.GetSheetReportValue(kv.Key + "-灭火任务单机指标报告", kv.Value); end.EntitySheetReportValueArr.Add(aircraftValue); } // 总体数据 EntitySheetReportValue totalValue = Util.GetSheetReportValue("灭火任务总体指标报告", mission.totalReport); end.EntitySheetReportValueArr.Add(totalValue); // 装备数据 EntitySheetReportValue equipmentValue = Util.GetSheetReportValue("装备体系评估报告", mission.equipReport); end.EntitySheetReportValueArr.Add(equipmentValue); response.Reports.Add(end); } foreach (XHRescueMission mission in taskSys.XHRescueMissions) { ResportWithTaskName end = new ResportWithTaskName(); end.FirePointId = mission.FireGround.FirePointName; // 所有飞机的数据 foreach (var kv in mission.singleReport) { EntitySheetReportValue aircraftValue = Util.GetSheetReportValue(kv.Key + "-巡护任务单机指标报告", kv.Value); end.EntitySheetReportValueArr.Add(aircraftValue); } // 总体数据 EntitySheetReportValue totalValue = Util.GetSheetReportValue("巡护任务总体指标报告", mission.totalXhReport); end.EntitySheetReportValueArr.Add(totalValue); // 装备数据 EntitySheetReportValue equipmentValue = Util.GetSheetReportValue("装备体系评估报告", mission.equipReport); end.EntitySheetReportValueArr.Add(equipmentValue); response.Reports.Add(end); } reply(); return UniTask.CompletedTask; } }