From 4f5e423b1775f902536826693f6ed571737a2b74 Mon Sep 17 00:00:00 2001 From: Mathew Sutcliffe Date: Thu, 26 Jun 2014 16:15:45 +0100 Subject: [PATCH] refs #272 hacks to get traffic injection working with the current ISimulator interface; temporary measure until ISimulator interface is refactored --- src/plugins/simulator/xplane/simulator_xplane.cpp | 4 +++- src/plugins/simulator/xplane/simulator_xplane.h | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/plugins/simulator/xplane/simulator_xplane.cpp b/src/plugins/simulator/xplane/simulator_xplane.cpp index 7171c9bc6..73fe28593 100644 --- a/src/plugins/simulator/xplane/simulator_xplane.cpp +++ b/src/plugins/simulator/xplane/simulator_xplane.cpp @@ -236,13 +236,15 @@ namespace BlackSimPlugin { if (! isConnected()) { return; } m_traffic->addPlane(callsign.asString(), type, "YYY", "YYY"); // TODO livery - addAircraftSituation(callsign, initialSituation); + //addAircraftSituation(callsign, initialSituation); + m_planes.insert(callsign.asString()); // FIXME should not be needed here IMHO } void CSimulatorXPlane::addAircraftSituation(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftSituation &situ) { if (! isConnected()) { return; } + if (! m_planes.contains(callsign.asString())) { addRemoteAircraft(callsign, "A320", situ); } // FIXME should not be needed here IMHO using namespace BlackMisc::PhysicalQuantities; m_traffic->setPlanePosition(callsign.asString(), situ.latitude().value(CAngleUnit::deg()), diff --git a/src/plugins/simulator/xplane/simulator_xplane.h b/src/plugins/simulator/xplane/simulator_xplane.h index 616c653b2..21ee1f899 100644 --- a/src/plugins/simulator/xplane/simulator_xplane.h +++ b/src/plugins/simulator/xplane/simulator_xplane.h @@ -88,6 +88,7 @@ namespace BlackSimPlugin CXBusTrafficProxy *m_traffic { nullptr }; QTimer *m_fastTimer { nullptr }; QTimer *m_slowTimer { nullptr }; + QSet m_planes; // FIXME should not be needed here IMHO struct // data is written by DBus async method callbacks {