mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-22 23:05:36 +08:00
Ref T786, use identifier based requestWeatherGrid in simulator plugins
This commit is contained in:
committed by
Mat Sutcliffe
parent
58583d3ffa
commit
026e19add0
@@ -337,8 +337,7 @@ namespace BlackSimPlugin
|
||||
calculateGreatCircleDistance(m_lastWeatherPosition, currentPosition).value(CLengthUnit::mi()) > 20)
|
||||
{
|
||||
m_lastWeatherPosition = currentPosition;
|
||||
const auto weatherGrid = CWeatherGrid { { "GLOB", currentPosition } };
|
||||
requestWeatherGrid(weatherGrid, { this, &CSimulatorEmulated::injectWeatherGrid });
|
||||
requestWeatherGrid(currentPosition, this->identifier());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -579,15 +578,15 @@ namespace BlackSimPlugin
|
||||
this->finishUpdateRemoteAircraftAndSetStatistics(now);
|
||||
}
|
||||
|
||||
void CSimulatorEmulated::requestWeather()
|
||||
bool CSimulatorEmulated::requestWeather()
|
||||
{
|
||||
if (!m_isWeatherActivated) { return; }
|
||||
if (!m_isWeatherActivated) { return false; }
|
||||
|
||||
const CWeatherScenario s = m_weatherScenarioSettings.get();
|
||||
this->getOwnAircraftPosition();
|
||||
const CCoordinateGeodetic currentPosition = this->getOwnAircraftPosition();
|
||||
const auto weatherGrid = CWeatherGrid { { "GLOB", currentPosition } };
|
||||
this->requestWeatherGrid(weatherGrid, { this, &CSimulatorEmulated::injectWeatherGrid });
|
||||
this->requestWeatherGrid(currentPosition, this->identifier());
|
||||
return true;
|
||||
}
|
||||
|
||||
CSimulatorEmulatedListener::CSimulatorEmulatedListener(const CSimulatorPluginInfo &info)
|
||||
|
||||
@@ -74,13 +74,13 @@ namespace BlackSimPlugin
|
||||
virtual BlackMisc::CStatusMessageList getInterpolationMessages(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||
virtual bool testSendSituationAndParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftSituation &situation, const BlackMisc::Aviation::CAircraftParts &parts) override;
|
||||
virtual bool requestElevation(const BlackMisc::Geo::ICoordinateGeodetic &reference, const BlackMisc::Aviation::CCallsign &callsign) override;
|
||||
virtual void injectWeatherGrid(const BlackMisc::Weather::CWeatherGrid &weatherGrid) override;
|
||||
|
||||
// ----- functions just logged -------
|
||||
virtual void highlightAircraft(const BlackMisc::Simulation::CSimulatedAircraft &aircraftToHighlight, bool enableHighlight, const BlackMisc::PhysicalQuantities::CTime &displayTime) override;
|
||||
virtual bool logicallyAddRemoteAircraft(const BlackMisc::Simulation::CSimulatedAircraft &remoteAircraft) override;
|
||||
virtual bool logicallyRemoveRemoteAircraft(const BlackMisc::Aviation::CCallsign &callsign) override;
|
||||
virtual int physicallyRemoveMultipleRemoteAircraft(const BlackMisc::Aviation::CCallsignSet &callsigns) override;
|
||||
virtual void injectWeatherGrid(const BlackMisc::Weather::CWeatherGrid &weatherGrid) override;
|
||||
|
||||
// functions logged and used
|
||||
//! \addtogroup swiftdotcommands
|
||||
@@ -171,7 +171,7 @@ namespace BlackSimPlugin
|
||||
void updateRemoteAircraft();
|
||||
|
||||
//! Request weather
|
||||
void requestWeather();
|
||||
bool requestWeather();
|
||||
|
||||
bool m_log = false; //!< from settings
|
||||
bool m_paused = false;
|
||||
|
||||
@@ -406,8 +406,7 @@ namespace BlackSimPlugin
|
||||
calculateGreatCircleDistance(m_lastWeatherPosition, aircraftSituation).value(CLengthUnit::mi()) > 20)
|
||||
{
|
||||
m_lastWeatherPosition = aircraftSituation;
|
||||
const auto weatherGrid = CWeatherGrid { { "GLOB", aircraftSituation } };
|
||||
requestWeatherGrid(weatherGrid, { this, &CSimulatorFs9::injectWeatherGrid });
|
||||
requestWeatherGrid(aircraftSituation, this->identifier());
|
||||
}
|
||||
}
|
||||
} // weather
|
||||
|
||||
@@ -65,6 +65,7 @@ namespace BlackSimPlugin
|
||||
virtual void displayTextMessage(const BlackMisc::Network::CTextMessage &message) const override;
|
||||
virtual BlackMisc::CStatusMessageList getInterpolationMessages(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||
virtual bool testSendSituationAndParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftSituation &situation, const BlackMisc::Aviation::CAircraftParts &parts) override;
|
||||
virtual void injectWeatherGrid(const BlackMisc::Weather::CWeatherGrid &weatherGrid) override;
|
||||
//! \@}
|
||||
|
||||
protected:
|
||||
@@ -79,11 +80,6 @@ namespace BlackSimPlugin
|
||||
//! \sa CSimulatorFsxCommon::dispatch
|
||||
virtual void timerEvent(QTimerEvent *event) override;
|
||||
|
||||
//! \name Base class overrides
|
||||
//! @{
|
||||
virtual void injectWeatherGrid(const BlackMisc::Weather::CWeatherGrid &weatherGrid) override;
|
||||
//! @}
|
||||
|
||||
// remark: in FS9 there is no central updateRemoteAircraft() function, each FS9 client updates itself
|
||||
// updateRemoteAircraft()
|
||||
|
||||
|
||||
@@ -779,8 +779,7 @@ namespace BlackSimPlugin
|
||||
calculateGreatCircleDistance(m_lastWeatherPosition, currentPosition).value(CLengthUnit::mi()) > 20)
|
||||
{
|
||||
m_lastWeatherPosition = currentPosition;
|
||||
const auto weatherGrid = CWeatherGrid { { "GLOB", currentPosition } };
|
||||
requestWeatherGrid(weatherGrid, { this, &CSimulatorFsxCommon::injectWeatherGrid });
|
||||
requestWeatherGrid(currentPosition, this->identifier());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -156,6 +156,7 @@ namespace BlackSimPlugin
|
||||
virtual void setFlightNetworkConnected(bool connected) override;
|
||||
virtual BlackMisc::CStatusMessageList getInterpolationMessages(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||
virtual bool testSendSituationAndParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftSituation &situation, const BlackMisc::Aviation::CAircraftParts &parts) override;
|
||||
virtual void injectWeatherGrid(const BlackMisc::Weather::CWeatherGrid &weatherGrid) override;
|
||||
//! @}
|
||||
|
||||
//! \copydoc BlackMisc::Simulation::ISimulationEnvironmentProvider::requestElevation
|
||||
@@ -232,7 +233,6 @@ namespace BlackSimPlugin
|
||||
//! @{
|
||||
virtual void reset() override;
|
||||
virtual void initSimulatorInternals() override;
|
||||
virtual void injectWeatherGrid(const BlackMisc::Weather::CWeatherGrid &weatherGrid) override;
|
||||
virtual void clearAllRemoteAircraftData() override;
|
||||
virtual void onOwnModelChanged(const BlackMisc::Simulation::CAircraftModel &newModel) override;
|
||||
//! @}
|
||||
|
||||
@@ -370,8 +370,7 @@ namespace BlackSimPlugin
|
||||
calculateGreatCircleDistance(m_lastWeatherPosition, situation).value(CLengthUnit::mi()) > 20)
|
||||
{
|
||||
m_lastWeatherPosition = situation;
|
||||
const auto weatherGrid = CWeatherGrid { { "GLOB", situation } };
|
||||
this->requestWeatherGrid(weatherGrid, { this, &CSimulatorXPlane::injectWeatherGrid });
|
||||
requestWeatherGrid(situation, this->identifier());
|
||||
}
|
||||
}
|
||||
} // weather
|
||||
|
||||
@@ -144,6 +144,7 @@ namespace BlackSimPlugin
|
||||
virtual void resetAircraftStatistics() override;
|
||||
virtual BlackMisc::CStatusMessageList getInterpolationMessages(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||
virtual bool testSendSituationAndParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftSituation &situation, const BlackMisc::Aviation::CAircraftParts &parts) override;
|
||||
virtual void injectWeatherGrid(const BlackMisc::Weather::CWeatherGrid &weatherGrid) override;
|
||||
virtual void callbackReceivedRequestedElevation(const BlackMisc::Geo::CElevationPlane &plane, const BlackMisc::Aviation::CCallsign &callsign, bool isWater) override;
|
||||
//! @}
|
||||
|
||||
@@ -158,7 +159,6 @@ namespace BlackSimPlugin
|
||||
virtual bool physicallyRemoveRemoteAircraft(const BlackMisc::Aviation::CCallsign &callsign) override;
|
||||
virtual int physicallyRemoveAllRemoteAircraft() override;
|
||||
virtual void clearAllRemoteAircraftData() override;
|
||||
virtual void injectWeatherGrid(const BlackMisc::Weather::CWeatherGrid &weatherGrid) override;
|
||||
virtual bool isPaused() const override
|
||||
{
|
||||
//! \todo XP: provide correct pause state
|
||||
|
||||
Reference in New Issue
Block a user