C2S_GetReportMessageHandler.cs 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using Cysharp.Threading.Tasks;
  2. using KYFramework;
  3. using KYFramework.Network;
  4. using SimulationServer.Utils;
  5. namespace SimulationServer;
  6. [MessageHandler]
  7. public class C2S_GetReportMessageHandler : AMRpcHandler<C2S_GetReport,S2C_GetReport>
  8. {
  9. protected override UniTask Run(Session session, C2S_GetReport message, S2C_GetReport response, Action reply)
  10. {
  11. var taskSys = Game.Scene.GetComponent<TaskComponent>();
  12. foreach (MHRescueMission mission in taskSys.MHRescueMissions)
  13. {
  14. ResportWithTaskName end = new ResportWithTaskName();
  15. end.FirePointId = mission.FireGround.FirePointName;
  16. foreach (var kv in mission.singleReport)
  17. {
  18. EntitySheetReportValue aircraftValue = Util.GetSheetReportValue(kv.Key + "-灭火任务单机指标报告", kv.Value);
  19. end.EntitySheetReportValueArr.Add(aircraftValue);
  20. }
  21. // 总体数据
  22. EntitySheetReportValue totalValue = Util.GetSheetReportValue("灭火任务总体指标报告", mission.totalReport);
  23. end.EntitySheetReportValueArr.Add(totalValue);
  24. // 装备数据
  25. EntitySheetReportValue equipmentValue = Util.GetSheetReportValue("装备体系评估报告", mission.equipReport);
  26. end.EntitySheetReportValueArr.Add(equipmentValue);
  27. response.Reports.Add(end);
  28. }
  29. foreach (XHRescueMission mission in taskSys.XHRescueMissions)
  30. {
  31. ResportWithTaskName end = new ResportWithTaskName();
  32. end.FirePointId = mission.FireGround.FirePointName;
  33. // 所有飞机的数据
  34. foreach (var kv in mission.singleReport)
  35. {
  36. EntitySheetReportValue aircraftValue = Util.GetSheetReportValue(kv.Key + "-巡护任务单机指标报告", kv.Value);
  37. end.EntitySheetReportValueArr.Add(aircraftValue);
  38. }
  39. // 总体数据
  40. EntitySheetReportValue totalValue = Util.GetSheetReportValue("巡护任务总体指标报告", mission.totalXhReport);
  41. end.EntitySheetReportValueArr.Add(totalValue);
  42. // 装备数据
  43. EntitySheetReportValue equipmentValue = Util.GetSheetReportValue("装备体系评估报告", mission.equipReport);
  44. end.EntitySheetReportValueArr.Add(equipmentValue);
  45. response.Reports.Add(end);
  46. }
  47. reply();
  48. return UniTask.CompletedTask;
  49. }
  50. }