mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-02 06:35:52 +08:00
Ref T259, Ref T243 pass the providers along the hierarchy
This commit is contained in:
@@ -285,7 +285,7 @@ namespace BlackSimPlugin
|
||||
CSimulatedAircraft aircraft(remoteAircraft);
|
||||
aircraft.setRendered(true);
|
||||
const CCallsign cs = aircraft.getCallsign();
|
||||
m_interpolators.insert(cs, CInterpolatorMultiWrapper(cs, &m_interpolationLogger, this));
|
||||
m_interpolators.insert(cs, CInterpolatorMultiWrapper(cs, this, this, this->getRemoteAircraftProvider(), &m_interpolationLogger));
|
||||
m_renderedAircraft.push_back(aircraft); // my simulator list
|
||||
this->updateAircraftRendered(cs, true); // in provider
|
||||
emit this->aircraftRenderingChanged(aircraft);
|
||||
|
||||
@@ -32,10 +32,10 @@ namespace BlackSimPlugin
|
||||
namespace Fs9
|
||||
{
|
||||
CFs9Client::CFs9Client(const CCallsign &callsign, const QString &modelName, const CTime &updateInterval,
|
||||
CInterpolationLogger *logger, ISimulator *owner) :
|
||||
CDirectPlayPeer(owner, callsign),
|
||||
CInterpolationLogger *logger, ISimulator *simulator) :
|
||||
CDirectPlayPeer(simulator, callsign),
|
||||
m_updateInterval(updateInterval),
|
||||
m_interpolator(callsign),
|
||||
m_interpolator(callsign, simulator, simulator, simulator->getRemoteAircraftProvider(), logger),
|
||||
m_modelName(modelName)
|
||||
{
|
||||
m_interpolator.attachLogger(logger);
|
||||
|
||||
@@ -44,7 +44,7 @@ namespace BlackSimPlugin
|
||||
const QString &modelName,
|
||||
const BlackMisc::PhysicalQuantities::CTime &updateInterval,
|
||||
BlackMisc::Simulation::CInterpolationLogger *logger,
|
||||
BlackCore::ISimulator *owner);
|
||||
BlackCore::ISimulator *simulator);
|
||||
|
||||
//! Destructor
|
||||
virtual ~CFs9Client();
|
||||
|
||||
@@ -8,11 +8,12 @@
|
||||
*/
|
||||
|
||||
#include "simconnectobject.h"
|
||||
#include "simconnectobject.h"
|
||||
#include "blackcore/simulator.h"
|
||||
#include "blackmisc/simulation/interpolatormulti.h"
|
||||
|
||||
using namespace BlackMisc::Aviation;
|
||||
using namespace BlackMisc::Simulation;
|
||||
using namespace BlackCore;
|
||||
|
||||
namespace BlackSimPlugin
|
||||
{
|
||||
@@ -23,12 +24,11 @@ namespace BlackSimPlugin
|
||||
|
||||
CSimConnectObject::CSimConnectObject(const CSimulatedAircraft &aircraft,
|
||||
DWORD requestId,
|
||||
ISimulationEnvironmentProvider *p1, IInterpolationSetupProvider *p2, IRemoteAircraftProvider *p3,
|
||||
CInterpolationLogger *logger) :
|
||||
m_aircraft(aircraft), m_requestId(requestId), m_validRequestId(true),
|
||||
m_interpolator(QSharedPointer<CInterpolatorMulti>::create(aircraft.getCallsign()))
|
||||
{
|
||||
m_interpolator->attachLogger(logger);
|
||||
}
|
||||
m_interpolator(QSharedPointer<CInterpolatorMulti>::create(aircraft.getCallsign(), p1, p2, p3, logger))
|
||||
{ }
|
||||
|
||||
void CSimConnectObject::invalidatePartsAsSent()
|
||||
{
|
||||
|
||||
@@ -32,6 +32,7 @@ namespace BlackSimPlugin
|
||||
//! Constructor providing initial situation/parts
|
||||
CSimConnectObject(const BlackMisc::Simulation::CSimulatedAircraft &aircraft,
|
||||
DWORD requestId,
|
||||
BlackMisc::Simulation::ISimulationEnvironmentProvider *p1, BlackMisc::Simulation::IInterpolationSetupProvider *p2, BlackMisc::Simulation::IRemoteAircraftProvider *p3,
|
||||
BlackMisc::Simulation::CInterpolationLogger *logger);
|
||||
|
||||
//! Destructor
|
||||
|
||||
@@ -1527,7 +1527,7 @@ namespace BlackSimPlugin
|
||||
}
|
||||
else
|
||||
{
|
||||
simObject = CSimConnectObject(aircraft, requestId, &m_interpolationLogger);
|
||||
simObject = CSimConnectObject(aircraft, requestId, this, this, this->getRemoteAircraftProvider(), &m_interpolationLogger);
|
||||
}
|
||||
m_simConnectObjects.insert(aircraft.getCallsign(), simObject);
|
||||
return simObject;
|
||||
|
||||
@@ -490,7 +490,7 @@ namespace BlackSimPlugin
|
||||
Q_ASSERT_X(!newRemoteAircraft.getCallsign().isEmpty(), Q_FUNC_INFO, "empty callsign");
|
||||
Q_ASSERT_X(newRemoteAircraft.hasModelString(), Q_FUNC_INFO, "missing model string");
|
||||
|
||||
m_xplaneAircraftObjects.insert(newRemoteAircraft.getCallsign(), CXPlaneMPAircraft(newRemoteAircraft, &m_interpolationLogger));
|
||||
m_xplaneAircraftObjects.insert(newRemoteAircraft.getCallsign(), CXPlaneMPAircraft(newRemoteAircraft, this, &m_interpolationLogger));
|
||||
CAircraftModel aircraftModel = newRemoteAircraft.getModel();
|
||||
QString livery = aircraftModel.getLivery().getCombinedCode(); //! \todo livery resolution for XP
|
||||
m_trafficProxy->addPlane(newRemoteAircraft.getCallsign().asString(), aircraftModel.getModelString(),
|
||||
|
||||
@@ -8,8 +8,10 @@
|
||||
*/
|
||||
|
||||
#include "xplanempaircraft.h"
|
||||
#include "blackcore/simulator.h"
|
||||
#include "blackmisc/simulation/interpolatormulti.h"
|
||||
|
||||
using namespace BlackCore;
|
||||
using namespace BlackMisc::Aviation;
|
||||
using namespace BlackMisc::Simulation;
|
||||
|
||||
@@ -20,22 +22,14 @@ namespace BlackSimPlugin
|
||||
CXPlaneMPAircraft::CXPlaneMPAircraft()
|
||||
{ }
|
||||
|
||||
CXPlaneMPAircraft::CXPlaneMPAircraft(const CSimulatedAircraft &aircraft,
|
||||
CInterpolationLogger *logger) :
|
||||
CXPlaneMPAircraft::CXPlaneMPAircraft(
|
||||
const CSimulatedAircraft &aircraft, ISimulator *simulator, CInterpolationLogger *logger) :
|
||||
m_aircraft(aircraft),
|
||||
m_interpolator(QSharedPointer<CInterpolatorMulti>::create(aircraft.getCallsign()))
|
||||
m_interpolator(QSharedPointer<CInterpolatorMulti>::create(aircraft.getCallsign(), simulator, simulator, simulator->getRemoteAircraftProvider(), logger))
|
||||
{
|
||||
m_interpolator->attachLogger(logger);
|
||||
}
|
||||
|
||||
CXPlaneMPAircraft::CXPlaneMPAircraft(const CAircraftSituation &situation) :
|
||||
m_interpolator(QSharedPointer<CInterpolatorMulti>::create(situation.getCallsign()))
|
||||
{ }
|
||||
|
||||
CXPlaneMPAircraft::CXPlaneMPAircraft(const CAircraftParts &parts, const CCallsign &callsign) :
|
||||
m_interpolator(QSharedPointer<CInterpolatorMulti>::create(callsign))
|
||||
{ }
|
||||
|
||||
bool CXPlaneMPAircraft::isSameAsSent(const CAircraftSituation &position) const
|
||||
{
|
||||
return m_positionAsSent == position;
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
#include <QSharedPointer>
|
||||
#include <QStringList>
|
||||
|
||||
namespace BlackCore { class ISimulator; }
|
||||
namespace BlackSimPlugin
|
||||
{
|
||||
namespace XPlane
|
||||
@@ -30,14 +31,9 @@ namespace BlackSimPlugin
|
||||
|
||||
//! Constructor providing initial situation/parts
|
||||
CXPlaneMPAircraft(const BlackMisc::Simulation::CSimulatedAircraft &aircraft,
|
||||
BlackCore::ISimulator *simulator,
|
||||
BlackMisc::Simulation::CInterpolationLogger *logger);
|
||||
|
||||
//! Constructor providing initial situation
|
||||
CXPlaneMPAircraft(const BlackMisc::Aviation::CAircraftSituation &situation);
|
||||
|
||||
//! Constructor providing initial parts
|
||||
CXPlaneMPAircraft(const BlackMisc::Aviation::CAircraftParts &parts, const BlackMisc::Aviation::CCallsign &callsign);
|
||||
|
||||
//! Destructor
|
||||
~CXPlaneMPAircraft() {}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user