示例#1
0
 public void CreateAiNonAtcAircraft(string szContainerTitle, SIMCONNECT_DATA_INITPOSITION initPos, uint request)
 {
     if (simConnect == null)
     {
         return;
     }
     simConnect.AICreateNonATCAircraft(szContainerTitle, "N123", initPos, (REQUEST)request);
 }
示例#2
0
 public void CreateAiSimulatedObject(string szContainerTitle, SIMCONNECT_DATA_INITPOSITION initPos, uint request)
 {
     if (simConnect == null)
     {
         return;
     }
     simConnect.AICreateSimulatedObject(szContainerTitle, initPos, (REQUEST)request);
 }
示例#3
0
 public void AiCreateSimulatedObject(string objectName, SIMCONNECT_DATA_INITPOSITION init, int reqId)
 {
     _mySimconnect.AICreateSimulatedObject(objectName, init, RequestId.ObjectBase + reqId);
 }
示例#4
0
        private void CreateNewAIAircraft(TrafficPositionReportMessage trafficPositionReportMessage)
        {
            uint counter;

            lock (AICounterLock)
            {
                counter = AICounter++;
            }

            AICounterToCallsignMap.Add(counter, trafficPositionReportMessage.Sender);

            try
            {
                // TODO: OnGround + airspeed
                var initpos = new SIMCONNECT_DATA_INITPOSITION()
                {
                    Altitude = trafficPositionReportMessage.TrueAltitude,
                    Bank = -trafficPositionReportMessage.BankAngle,
                    Heading = trafficPositionReportMessage.Heading,
                    Latitude = trafficPositionReportMessage.Latitude,
                    Longitude = trafficPositionReportMessage.Longitude,
                    Pitch = -trafficPositionReportMessage.Pitch,
                    OnGround = 1,
                    Airspeed = 0
                };

                simconnect.AICreateNonATCAircraft(GetRepaintTitle(),  trafficPositionReportMessage.Sender, initpos, (SIMCONNECT_EVENTS)((uint)SIMCONNECT_EVENTS.EVENTID_SETAIAC + counter));
                // simconnect.AICreateSimulatedObject(GetRepaintTitle(), initpos, (SIMCONNECT_EVENTS)((uint)SIMCONNECT_EVENTS.EVENTID_SETAIAC + counter));

                var aiplane = new AIPlane(trafficPositionReportMessage.Sender);
                aiplane.SetTargetWaypoint(CreateWaypointFromTrafficPositionReportMsg(trafficPositionReportMessage));
                aiplane.AICounter = counter;
                CallsignToAIPlaneMap.Add(aiplane.Callsign, aiplane);
            }
            catch (COMException e)
            {
                Logger.Error("SimConnectInterface.CreateNewAIAircraft: " + e);
            }
        }
示例#5
0
 public void AiCreateSimulatedObject(string objectName, SIMCONNECT_DATA_INITPOSITION init, int reqId)
 {
     _mySimconnect.AICreateSimulatedObject(objectName, init, RequestId.ObjectBase + reqId);
 }