Browse Source

修改多任务飞机脚本

liyang 6 months ago
parent
commit
4873507025

+ 9 - 10
SimulationServer/Entity/AircraftDY.cs

@@ -29,17 +29,16 @@ public class AircraftDY : AircraftEntity
     public override void Start()
     {
         int hour = Convert.ToInt32(taskContent.missionInformation.StartTime.Split("时")[0]);
-        Console.WriteLine("hour:" + hour);
+        //Console.WriteLine("hour:" + hour);
         double windSpeed = Convert.ToDouble(TargetQiXiangInfoSave("风速", hour));
-        Console.WriteLine("windSpeed:" + windSpeed);
+        //Console.WriteLine("windSpeed:" + windSpeed);
         double vis = Convert.ToDouble(TargetQiXiangInfoSave("能见度", hour));
-        Console.WriteLine("vis:" + vis);
+        //Console.WriteLine("vis:" + vis);
 
-        // 任务参数任务点?
-        FlightPlanEditor.missionpoint.MissionPointLatitude = taskParameter.MissionPoints_KZDY[0].MissionPointLatitude;
-        FlightPlanEditor.missionpoint.MissionPointLongitude = taskParameter.MissionPoints_KZDY[0].MissionPointLongitude;
-        FlightPlanEditor.missionpoint.MissionPointHeight = taskParameter.MissionPoints_KZDY[0].MissionPointHeight;
-        Console.WriteLine("Latitude:" + FlightPlanEditor.missionpoint.MissionPointLatitude + "_" + "Longitude:" + FlightPlanEditor.missionpoint.MissionPointLongitude + "_" + "Height:" + FlightPlanEditor.missionpoint.MissionPointHeight);
+        FlightPlanEditor.missionpoint.MissionPointLatitude = FlightPlanEditor.targetpoint[0].TargetPointLatitude;
+        FlightPlanEditor.missionpoint.MissionPointLongitude = FlightPlanEditor.targetpoint[0].TargetPointLongitude;
+        FlightPlanEditor.missionpoint.MissionPointHeight = FlightPlanEditor.targetpoint[0].TargetPointHeight;
+        //Console.WriteLine("Latitude:" + FlightPlanEditor.missionpoint.MissionPointLatitude + "_" + "Longitude:" + FlightPlanEditor.missionpoint.MissionPointLongitude + "_" + "Height:" + FlightPlanEditor.missionpoint.MissionPointHeight);
 
         // 飞到目标点时间与人员存活时间做对比  有一个人活着,整个任务成功
         //double survivalTime = SurvivalTimeModel.SurvivalTime(getNCData.tempreadNC, latitude, longitude, time, text_ReadNC.times, text_ReadNC.latitudes, text_ReadNC.longitudes, Days, Hour); //幸存时间
@@ -47,9 +46,9 @@ public class AircraftDY : AircraftEntity
         FXJHGenerate.FromStartToMission(FlightPlanEditor, ref TurningPoints);//生成从起点到任务段起点的航路点
         // 吊运上升速度  吊运下降速度 Task文件读取 // Editor里读天气根据时间
         double resulttime = get_result_time_rope(taskParameter.Height, taskParameter.liftPersonnel, windSpeed, vis, taskParameter.liftUpSpeed, taskParameter.liftDownSpeed).time;//索滑降模型输出的索滑降时间
-        FXJHGenerate.SuoHuaJiang(resulttime, FlightPlanEditor, ref TurningPoints);  // 索滑降通用?
+        FXJHGenerate.SuoHuaJiang(resulttime, FlightPlanEditor, ref TurningPoints);
 
-        FXJHGenerate.FromMissionToEnd(FlightPlanEditor, FXJHGenerate.SuoHuaJiangMissionEndPoint(FlightPlanEditor), ref TurningPoints); // // 索滑降通用?
+        FXJHGenerate.FromMissionToEnd(FlightPlanEditor, FXJHGenerate.SuoHuaJiangMissionEndPoint(FlightPlanEditor), ref TurningPoints); 
         FXJHGenerate.FXJHTPDiedai(FlightPlanEditor, ref TurningPoints, Velocitys, FuelConsumptions);
 
         for (int i = 0; i < TurningPoints.Count; i++) // 总飞行时间

+ 2 - 3
SimulationServer/Entity/AircraftJJ.cs

@@ -35,8 +35,6 @@ public class AircraftJJ : AircraftEntity
     }
     public override void Start()
     {
-        FXJHGenerate.FromStartToMission(FlightPlanEditor, ref TurningPoints);//生成从起点到任务段起点的航路点
-
         FlightPlanEditor.missionpoint.MissionPointLatitude = rescueDemandInfo.TargetPointLatitude;
         FlightPlanEditor.missionpoint.MissionPointLongitude = rescueDemandInfo.TargetPointLongitude;
         FlightPlanEditor.missionpoint.MissionPointHeight = rescueDemandInfo.TargetPointHeight;
@@ -45,6 +43,8 @@ public class AircraftJJ : AircraftEntity
         missionEndPoint.MissionEndPointLongitude = FlightPlanEditor.missionpoint.MissionPointLongitude;
         missionEndPoint.MissionEndPointHeight = FlightPlanEditor.missionpoint.MissionPointHeight;
 
+        FXJHGenerate.FromStartToMission(FlightPlanEditor, ref TurningPoints);//生成从起点到任务段起点的航路点
+
         int TransportNumber = (int)Math.Ceiling(taskParameter.LandingPersonnel / FlightPlanEditor.aircraftparameter.MaxPassengerNumber);
 
         int j = 0;
@@ -108,6 +108,5 @@ public class AircraftJJAwakeSystem : AwakeSystem<AircraftJJ, FlightPlanEditor>
     {
         self.FlightPlanEditor = flightPlanEditor;
         self.Awake();
-        self.Reset();
     }
 }

+ 8 - 1
SimulationServer/Entity/AircraftKTKS.cs

@@ -28,6 +28,8 @@ public class AircraftKTKS : AircraftEntity
     public bool IsOver;
     public bool Success;
 
+    public RescueDemandInfo rescueDemandInfo;
+
     public override void End()
     {
         TotalFuelConsumption = TurningPoints[0].RemainingFuel - TurningPoints[^1].RemainingFuel;
@@ -44,6 +46,11 @@ public class AircraftKTKS : AircraftEntity
     {
         // FlightPlanEditor.targetpoint = 空投点
 
+        FlightPlanEditor.missionpoint.MissionPointLatitude = rescueDemandInfo.TargetPointLatitude;
+        FlightPlanEditor.missionpoint.MissionPointLongitude = rescueDemandInfo.TargetPointLongitude;
+        FlightPlanEditor.missionpoint.MissionPointHeight = rescueDemandInfo.TargetPointHeight;
+        //Console.WriteLine("MissionPointLatitude:" + FlightPlanEditor.missionpoint.MissionPointLatitude);
+
         FXJHGenerate.FromStartToMission(FlightPlanEditor, ref TurningPoints);//生成从起点到任务段起点的航路点
 
         int TransportNumber = (int)Math.Ceiling(LandingPersonnel / FlightPlanEditor.aircraftparameter.MaxPassengerNumber);
@@ -70,7 +77,7 @@ public class AircraftKTKS : AircraftEntity
         text_ReadNC.GetNCData();
         var nCread = text_ReadNC.windNCread;
 
-        double[] windVelocity = GetWindVelocityFromAPI(nCread, FlightPlanEditor.targetpoint[0].TargetPointLatitude, FlightPlanEditor.targetpoint[0].TargetPointLongitude, text_ReadNC.latitudes, text_ReadNC.longitudes, Days, Hour);
+        double[] windVelocity = GetWindVelocityFromAPI(nCread, rescueDemandInfo.TargetPointLatitude, rescueDemandInfo.TargetPointLongitude, text_ReadNC.latitudes, text_ReadNC.longitudes, Days, Hour);
         var windSpeed = Math.Sqrt(windVelocity[0] * windVelocity[0] + windVelocity[1] * windVelocity[1]);
         var theta = Math.Asin(windVelocity[0] / windSpeed);
 

+ 5 - 0
SimulationServer/Entity/AircraftZS.cs

@@ -40,6 +40,11 @@ public class AircraftZS : AircraftEntity
     }
     public override void Start()
     {
+        FlightPlanEditor.missionpoint.MissionPointLatitude = FlightPlanEditor.targetpoint[0].TargetPointLatitude;
+        FlightPlanEditor.missionpoint.MissionPointLongitude = FlightPlanEditor.targetpoint[0].TargetPointLongitude;
+        FlightPlanEditor.missionpoint.MissionPointHeight = FlightPlanEditor.targetpoint[0].TargetPointHeight;
+        //Console.WriteLine("MissionPointLatitude:" + FlightPlanEditor.missionpoint.MissionPointLatitude);
+
         FXJHGenerate.FromStartToMission(FlightPlanEditor, ref TurningPoints);//生成从起点到任务段起点的航路点
 
         missionEndPoint.MissionEndPointLatitude = FlightPlanEditor.targetpoint[0].TargetPointLatitude;

+ 1 - 0
SimulationServer/EventHandler/CreateTaskEventHandler.cs

@@ -444,6 +444,7 @@ public class CreateLandSJEventHandler : AEvent<CreateLandSXTask>
                 mission.aircrafts.Add(aircraft);
                 aircraft.taskContent = config.KTKSTask;
                 aircraft.AircraftId = config.KTKSTask.aircraftInfos[i].AircraftId;
+                aircraft.rescueDemandInfo = config.EditorConfig.rescueDemandInfos.Find(t => t.DemandPointName == config.KTKSTask.missionInformation.TargetPoint);
                 //aircraft.MissionEndPoint = new MissionEndPoint
                 //{
                 //    MissionEndPointLongitude = targetPoint.TargetPointLongitude,

+ 14 - 14
SimulationServer/EventHandler/ServerStartEventHandler.cs

@@ -117,13 +117,13 @@ public class ServerStartEventHandler : AEvent<ServerStart>
         //    //break;
         //}
 
-        ////创建空中吊运救援任务
-        //foreach (var KZDYTask in taskConfig.KZDYTasks)
-        //{
-        //    Game.EventSystem.Publish(new CreateKZDYTask
-        //    { EditorConfig = editorConfig, KZDYTask = KZDYTask });
-        //    //break;
-        //}
+        //创建空中吊运救援任务
+        foreach (var KZDYTask in taskConfig.KZDYTasks)
+        {
+            Game.EventSystem.Publish(new CreateKZDYTask
+            { EditorConfig = editorConfig, KZDYTask = KZDYTask });
+            //break;
+        }
 
         ////创建空投空送任务
         //foreach (var KTKSTask in taskConfig.KTKSTasks)
@@ -149,13 +149,13 @@ public class ServerStartEventHandler : AEvent<ServerStart>
         //    //break;
         //}
 
-        //创建索滑降救援任务
-        foreach (var SHJTask in taskConfig.SHJTasks)
-        {
-            Game.EventSystem.Publish(new CreateSHJTask
-            { EditorConfig = editorConfig, SHJTask = SHJTask });
-            //break;
-        }
+        ////创建索滑降救援任务
+        //foreach (var SHJTask in taskConfig.SHJTasks)
+        //{
+        //    Game.EventSystem.Publish(new CreateSHJTask
+        //    { EditorConfig = editorConfig, SHJTask = SHJTask });
+        //    break;
+        //}
 
         taskSys.ExecutionContext = editorConfig.runCounts;
         taskSys.Start();

BIN
SimulationServer/bin/Debug/net7.0/SimulationServer.dll


BIN
SimulationServer/bin/Debug/net7.0/SimulationServer.exe


BIN
SimulationServer/bin/Debug/net7.0/SimulationServer.pdb