コード例 #1
0
 public void Init(AircraftPositionStruct position)
 {
     logger.LogDebug("Set initial position");
     simconnect.SetDataOnSimObject(DEFINITIONS.AircraftPositionInitial, SimConnect.SIMCONNECT_OBJECT_ID_USER, SIMCONNECT_DATA_SET_FLAG.DEFAULT,
                                   new SIMCONNECT_DATA_INITPOSITION
     {
         Latitude  = position.Latitude,
         Longitude = position.Longitude,
         Altitude  = position.Altitude,
         Pitch     = position.Pitch,
         Bank      = position.Bank,
         Heading   = position.TrueHeading,
         OnGround  = position.IsOnGround,
         Airspeed  = 0
     });
 }
コード例 #2
0
        public uint Spawn(string aircraftTitle, AircraftPositionStruct position)
        {
            var requestID = DATA_REQUESTS.AI_SPAWN + requestCount;

            requestCount = (requestCount + 1) % 10000;
            lock (lockObj)
            {
                logger.LogDebug("Spawing new aircraft. Request ID {requestId}.", (uint)requestID);
                simconnect?.AICreateNonATCAircraft(aircraftTitle, "REPLAY", new SIMCONNECT_DATA_INITPOSITION
                {
                    Latitude  = position.Latitude,
                    Longitude = position.Longitude,
                    Altitude  = position.Altitude,
                    Pitch     = position.Pitch,
                    Bank      = position.Bank,
                    Heading   = position.TrueHeading,
                    OnGround  = position.IsOnGround,
                    Airspeed  = 0
                }, requestID);
            }
            return((uint)requestID);
        }
コード例 #3
0
 private void ProcessAircraftPosition(AircraftPositionStruct position)
 {
     logger.LogTrace("Get Aircraft status");
     AircraftPositionUpdated?.Invoke(this, new AircraftPositionUpdatedEventArgs(position));
 }
コード例 #4
0
 public static partial AircraftPositionSetStruct ToSet(AircraftPositionStruct variables);
 public AircraftPositionUpdatedEventArgs(AircraftPositionStruct position)
 {
     Position = position;
 }