123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- using KYFramework;
- using Model;
- using SimulationServer.Utils;
- using Define = SimulationServer.Utils.Define;
- namespace SimulationServer;
- public class AircraftJJ : AircraftEntity
- {
- public string NextMissionId;
- public MissionEndPoint missionEndPoint = new MissionEndPoint();
- public int LandingPersonnel;
- public MHRescueMission mhRescueMission;
- public int landingPoint = 0;
- public JJJYTask taskContent;
- public TaskParameter taskParameter;
- public RescueDemandInfo rescueDemandInfo;
- public bool IsOver;
- public bool Success;
- public override void End()
- {
- TotalFuelConsumption = TurningPoints[0].RemainingFuel - TurningPoints[^1].RemainingFuel;
- }
- public override void Reset()
- {
- base.Reset();
- IsOver = false;
- Success = false;
- TotalTime = 0;
- }
- public override void Start()
- {
- FlightPlanEditor.missionpoint.MissionPointLatitude = rescueDemandInfo.TargetPointLatitude;
- FlightPlanEditor.missionpoint.MissionPointLongitude = rescueDemandInfo.TargetPointLongitude;
- FlightPlanEditor.missionpoint.MissionPointHeight = rescueDemandInfo.TargetPointHeight;
- missionEndPoint.MissionEndPointLatitude = FlightPlanEditor.missionpoint.MissionPointLatitude;
- 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;
- for (int i = 0; i < TransportNumber; i++)
- {
- if (i == 0)
- {
- FXJHGenerate.JijiangJiuYuan1(FlightPlanEditor, ref TurningPoints);
- }
- else
- {
- FXJHGenerate.JijiangJiuYuan(FlightPlanEditor, ref TurningPoints);
- j += 2;
- }
- }
-
-
- FXJHGenerate.FromMissionToEnd(FlightPlanEditor, missionEndPoint, ref TurningPoints);
- FXJHGenerate.FXJHTPDiedai(FlightPlanEditor, ref TurningPoints, Velocitys, FuelConsumptions);
- for (int i = 0; i < TurningPoints.Count; i++)
- {
- TotalTime += TurningPoints[i].SegmentFlightTime;
-
- }
- Console.WriteLine("TotalTime:" + TotalTime);
- IsOver = true;
-
- End();
- }
-
-
-
-
-
-
-
-
-
-
-
-
- public override void Update(double time)
- {
- }
- }
- [ObjectSystem]
- public class AircraftJJAwakeSystem : AwakeSystem<AircraftJJ, FlightPlanEditor>
- {
- public override void Awake(AircraftJJ self, FlightPlanEditor flightPlanEditor)
- {
- self.FlightPlanEditor = flightPlanEditor;
- self.Awake();
- }
- }
|