/// <summary> /// Flight Type Runway /// Initializes the Cmd for flying - /// </summary> /// <param name="acftNo">The aircraft reg number</param> /// <param name="rwy">A Runway to start from</param> public void InitFromRunway(int acftNo, rwyRec rwy) { AircraftRegNumber = acftNo; AircraftTailReg = $"{AcftTailPrefix}{AircraftRegNumber:0000}"; AircraftCallsign = $"{AircraftOperator}{AircraftRegNumber:0000}"; StartPos_latlon = new LatLon(rwy.start_latlon); StartAlt_ftMsl = rwy.elevation; // base for relative alt commands is the runway elevation StartBrg_degm = rwy.brg; // start direction StartGS_kn = 0; // start speed RwyAlt_ftMsl = rwy.elevation; // need to know if we are airborne or not Start_IcaoID = rwy.icao_id; // final start location ID End_IcaoID = "VFR->"; // final end location ID - actually not known.. }
/// <summary> /// Flight Type MsgRelative /// Initializes the Cmd for flying - /// </summary> /// <param name="acftNo">The aircraft reg number</param> /// <param name="rwy">A Runway to start from</param> /// <param name="callSign">A callsign</param> public void InitFromMsgRelative(int acftNo, rwyRec rwy, string callSign) { AircraftRegNumber = acftNo; StartPos_latlon = new LatLon(rwy.start_latlon); StartBrg_degm = rwy.brg; // start direction Start_IcaoID = rwy.icao_id; // final start location ID End_IcaoID = "MSG_EPOS"; // artificial, usually not known AircraftTailReg = $"{AcftTailPrefix}{AircraftRegNumber:0000}"; if (!string.IsNullOrEmpty(callSign)) { AircraftOperator = callSign.Trim( ).ToUpperInvariant( ); } AircraftCallsign = $"{AircraftOperator}{AircraftRegNumber:0000}"; }