zansimple пре 5 дана
родитељ
комит
aef75eebf5

+ 17 - 1
Models/SimulationCommon/TaskConfig.cs

@@ -479,7 +479,23 @@ public class SHJTaskConfig
     [JsonProperty("索滑降参数")]
     public SHJParameter[] SHJParameters;
 }
-
+public class SHJParameter
+{
+    [JsonProperty("应用飞机编号")]
+    public string AircraftId;
+    [JsonProperty("索滑降高度")]
+    public double H;
+    [JsonProperty("投送人数")]
+    public int person_number;
+    [JsonProperty("风速")]
+    public double windspeed;
+    [JsonProperty("能见度")]
+    public double vis;
+    [JsonProperty("索滑降速度")]
+    public double descendspeed;
+    [JsonProperty("索滑降点")]
+    public MissionPoint[] MissionPoints;
+}
 public class JJParamter
 {
     [JsonProperty("应用飞机编号")]

+ 9 - 22
SimulationServer/Component/JYComponent.cs

@@ -6,9 +6,6 @@ namespace SimulationServer;
 public class JYComponent : Component
 {
     // 救援任务列表
-    public List<MHRescueMission> MHRescueMissions;
-    public List<XHRescueMission> XHRescueMissions;
-    public List<ZCRescueMission> ZCRescueMissions;
     public List<SeaSJRescueMission> SeaSJRescueMissions;
     public List<LandSJRescueMission> LandSJRescueMissions;
     public List<KZDYMission> KZDYMissions;
@@ -17,7 +14,6 @@ public class JYComponent : Component
     public List<JJJYMission> JJJYMissions;
     public List<SHJMission> SHJMissions;
 
-    public SJAllTotalTaskPerformanceComponent SSJAllTotalTaskPerformance = new SJAllTotalTaskPerformanceComponent();
     public Dictionary<string, Dictionary<string, List<string>>> alltotalReportSea = new();
     public Dictionary<string, Dictionary<string, List<string>>> alltotalReportLand = new();
     // <sheet,<指标名,值列表>>
@@ -38,22 +34,15 @@ public class JYComponent : Component
 
     public int missionCount;
 
-    public void Start()
+    public void Clear()
     {
-        MHRescueMissions?.ForEach(r => r.Reset());
-        XHRescueMissions?.ForEach(r => r.Reset());
-
-        MHRescueMissions?.ForEach(r => r.Start());
-        XHRescueMissions?.ForEach(r => r.Start());
-        ZCRescueMissions?.ForEach(r => r.Start());
-
-        SeaSJRescueMissions?.ForEach(r => r.Start());
-        LandSJRescueMissions?.ForEach(r => r.Start());
-        KZDYMissions?.ForEach(r => r.Start());
-        KTKSMissions?.ForEach(r => r.Start());
-        ZSJYMissions?.ForEach(r => r.Start());
-        JJJYMissions?.ForEach(r => r.Start());
-        SHJMissions?.ForEach(r => r.Start());
+        SeaSJRescueMissions.Clear();
+        LandSJRescueMissions.Clear();
+        KZDYMissions.Clear();
+        KTKSMissions.Clear();
+        ZSJYMissions.Clear();
+        JJJYMissions.Clear();
+        SHJMissions.Clear();
     }
 
     public void SaveSeaSJ(Dictionary<string, Dictionary<string, string>> totalReport)
@@ -193,9 +182,7 @@ public class JYComponentAwakeSystem : AwakeSystem<JYComponent>
 {
     public override void Awake(JYComponent self)
     {
-        self.MHRescueMissions = new List<MHRescueMission>();
-        self.ZCRescueMissions = new List<ZCRescueMission>();
-        self.XHRescueMissions = new List<XHRescueMission>();
+        
         self.SeaSJRescueMissions = new List<SeaSJRescueMission>();
         self.LandSJRescueMissions = new List<LandSJRescueMission>();
         self.KZDYMissions = new List<KZDYMission>();

+ 0 - 1
SimulationServer/Component/TaskComponent.cs

@@ -5,7 +5,6 @@ namespace SimulationServer;
 
 public class TaskComponent : Component
 {
-
     public static bool SimulationStart = false;
     public static DateTime TaskTime;
 

+ 0 - 2
SimulationServer/Component/TaskComponentSystem.cs

@@ -74,8 +74,6 @@ public class TaskComponentUpdateSystem : UpdateSystem<TaskComponent>
 {
     public override void Update(TaskComponent self)
     {
-        
-        
         self.Over();
     }
 }

+ 1 - 4
SimulationServer/Entity/Aircrafts/AircraftDY.cs

@@ -7,10 +7,7 @@ namespace SimulationServer;
 
 public class AircraftDY : AircraftEntity
 {
-    public TaskParameter SHJParameter;
     public KZDYTask taskContent;
-    public MissionEndPoint MissionEndPoint;
-    public bool IsOver;
     public bool Success;
     public TaskParameter taskParameter;
     public GetNCData getNCData;
@@ -23,7 +20,7 @@ public class AircraftDY : AircraftEntity
     Text_readNC text_ReadNC;
     public override void End()
     {
-        TotalFuelConsumption = TurningPoints[0].RemainingFuel - TurningPoints[^1].RemainingFuel;
+        TotalFuelConsumption = FXJHGenerate.CalculateTotalFuelConsumption(FlightPlanEditor, TurningPoints);
     }
 
     public override void Reset()

+ 1 - 4
SimulationServer/Entity/Aircrafts/AircraftZS.cs

@@ -9,9 +9,6 @@ namespace SimulationServer;
 public class AircraftZS : AircraftEntity
 {
     public MissionEndPoint missionEndPoint = new MissionEndPoint();
-
-    public MHRescueMission mhRescueMission;
-
     public List<Model.AirRoute> airRoutes = new List<Model.AirRoute>();
 
     public ZSJYTask taskContent;
@@ -41,7 +38,7 @@ public class AircraftZS : AircraftEntity
         {
             if (item.AircraftId == FlightPlanEditor.aircraftparameter.Id)
             {
-                double a = (double)taskContent.missionInformation.TaskEndConditions.person_number_Rescue;
+                double a = double.Parse(taskContent.missionInformation.TaskEndConditions.EndValue);
                 double b = (double)item.RescuePersonnel;
                 count = (int)Math.Ceiling(a / b);
                 //Console.WriteLine("count:" + count);

+ 34 - 6
SimulationServer/EventHandler/CreateTaskEventHandler.cs

@@ -156,6 +156,11 @@ public class CreateSeaSJEventHandler : AEvent<CreateSeaSJTask>
         var taskSys = Game.Scene.GetComponent<TaskComponent>();
         SeaSJRescueMission mission = ComponentFactory.Create<SeaSJRescueMission>();
         taskSys.Missions.Add(mission);
+        
+        var jySys = Game.Scene.GetComponent<JYComponent>();
+        jySys.SeaSJRescueMissions.Add(mission);
+        
+        
         mission.MissionId = $"海上搜索救援任务 {config.SeaSJTask.missionInformation.MissionName}";
         mission.ExecutionContext = config.EditorConfig.runCounts;
         mission.AddComponent<SJTotalTaskPerformanceComponent>();
@@ -209,6 +214,11 @@ public class CreateLandSJEventHandler : AEvent<CreateLandSXTask>
         var taskSys = Game.Scene.GetComponent<TaskComponent>();
         LandSJRescueMission mission = ComponentFactory.Create<LandSJRescueMission>();
         taskSys.Missions.Add(mission);
+        
+        var jySys = Game.Scene.GetComponent<JYComponent>();
+        jySys.LandSJRescueMissions.Add(mission);
+        
+        
         mission.MissionId = $"陆上搜寻救援任务 {config.LandSXTask.missionInformation.MissionName}";
         mission.ExecutionContext = config.EditorConfig.runCounts;
         //mission.AddComponent<SJTotalTaskPerformanceComponent>();
@@ -266,6 +276,11 @@ public class CreateLandSJEventHandler : AEvent<CreateLandSXTask>
             var taskSys = Game.Scene.GetComponent<TaskComponent>();
             KZDYMission mission = ComponentFactory.Create<KZDYMission>();
             taskSys.Missions.Add(mission);
+            
+            var jySys = Game.Scene.GetComponent<JYComponent>();
+            jySys.KZDYMissions.Add(mission);
+            
+            
             mission.MissionId = $"空中吊运救援任务 {config.KZDYTask.missionInformation.MissionName}";
             mission.ExecutionContext = config.EditorConfig.runCounts;
             //mission.AddComponent<SJTotalTaskPerformanceComponent>();
@@ -289,12 +304,12 @@ public class CreateLandSJEventHandler : AEvent<CreateLandSXTask>
                 mission.Aircrafts.Add(aircraft);
                 aircraft.taskContent = config.KZDYTask;
                 aircraft.AircraftId = config.KZDYTask.aircraftInfos[i].AircraftId;
-                aircraft.MissionEndPoint = new MissionEndPoint
-                {
-                    MissionEndPointLongitude = targetPoint.TargetPointLongitude,
-                    MissionEndPointLatitude = targetPoint.TargetPointLatitude,
-                    MissionEndPointHeight = targetPoint.TargetPointHeight
-                };
+                // aircraft.MissionEndPoint = new MissionEndPoint
+                // {
+                //     MissionEndPointLongitude = targetPoint.TargetPointLongitude,
+                //     MissionEndPointLatitude = targetPoint.TargetPointLatitude,
+                //     MissionEndPointHeight = targetPoint.TargetPointHeight
+                // };
 
                 foreach (var item in config.KZDYTask.KZDYParameters)
                 {
@@ -320,6 +335,10 @@ public class CreateLandSJEventHandler : AEvent<CreateLandSXTask>
             var taskSys = Game.Scene.GetComponent<TaskComponent>();
             KTKSMission mission = ComponentFactory.Create<KTKSMission>();
             taskSys.Missions.Add(mission);
+            
+            var jySys = Game.Scene.GetComponent<JYComponent>();
+            jySys.KTKSMissions.Add(mission);
+            
             mission.MissionId = $"空投空送任务 {config.KTKSTask.missionInformation.MissionName}";
             mission.ExecutionContext = config.EditorConfig.runCounts;
             //mission.AddComponent<SJTotalTaskPerformanceComponent>();
@@ -375,6 +394,10 @@ public class CreateLandSJEventHandler : AEvent<CreateLandSXTask>
             var taskSys = Game.Scene.GetComponent<TaskComponent>();
             ZSJYMission mission = ComponentFactory.Create<ZSJYMission>();
             taskSys.Missions.Add(mission);
+            
+            var jySys = Game.Scene.GetComponent<JYComponent>();
+            jySys.ZSJYMissions.Add(mission);
+            
             mission.MissionId = $"着水救援任务 {config.ZSJYTask.missionInformation.MissionName}";
             mission.ExecutionContext = config.EditorConfig.runCounts;
             //mission.AddComponent<SJTotalTaskPerformanceComponent>();
@@ -429,6 +452,11 @@ public class CreateLandSJEventHandler : AEvent<CreateLandSXTask>
             var taskSys = Game.Scene.GetComponent<TaskComponent>();
             JJJYMission mission = ComponentFactory.Create<JJJYMission>();
             taskSys.Missions.Add(mission);
+            
+            
+            var jySys = Game.Scene.GetComponent<JYComponent>();
+            jySys.JJJYMissions.Add(mission);
+            
             mission.MissionId = $"机降救援任务 {config.JJJYTask.missionInformation.MissionName}";
             mission.ExecutionContext = config.EditorConfig.runCounts;
             //mission.AddComponent<SJTotalTaskPerformanceComponent>();