mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-30 11:55:35 +08:00
Ref T180, update situation of pending aircraft
This commit is contained in:
@@ -149,6 +149,18 @@ namespace BlackMisc
|
|||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int CSimulatedAircraftList::setAircraftSituation(const CCallsign &callsign, const CAircraftSituation &situation, bool onlyFirst)
|
||||||
|
{
|
||||||
|
int c = 0;
|
||||||
|
for (CSimulatedAircraft &aircraft : (*this))
|
||||||
|
{
|
||||||
|
if (aircraft.getCallsign() != callsign) { continue; }
|
||||||
|
aircraft.setSituation(situation);
|
||||||
|
if (onlyFirst) break;
|
||||||
|
}
|
||||||
|
return c;
|
||||||
|
}
|
||||||
|
|
||||||
int CSimulatedAircraftList::setGroundElevation(const CCallsign &callsign, const CAltitude &elevation, bool onlyFirst)
|
int CSimulatedAircraftList::setGroundElevation(const CCallsign &callsign, const CAltitude &elevation, bool onlyFirst)
|
||||||
{
|
{
|
||||||
int c = 0;
|
int c = 0;
|
||||||
|
|||||||
@@ -89,6 +89,9 @@ namespace BlackMisc
|
|||||||
//! Set aircraft parts
|
//! Set aircraft parts
|
||||||
int setAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftParts &parts, bool onlyFirst = true);
|
int setAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftParts &parts, bool onlyFirst = true);
|
||||||
|
|
||||||
|
//! Set aircraft parts
|
||||||
|
int setAircraftSituation(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftSituation &situation, bool onlyFirst = true);
|
||||||
|
|
||||||
//! Set ground elevation
|
//! Set ground elevation
|
||||||
int setGroundElevation(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAltitude &elevation, bool onlyFirst = true);
|
int setGroundElevation(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAltitude &elevation, bool onlyFirst = true);
|
||||||
|
|
||||||
|
|||||||
@@ -1485,14 +1485,28 @@ namespace BlackSimPlugin
|
|||||||
|
|
||||||
void CSimulatorFsxCommon::onRemoteProviderAddedAircraftSituation(const CAircraftSituation &situation)
|
void CSimulatorFsxCommon::onRemoteProviderAddedAircraftSituation(const CAircraftSituation &situation)
|
||||||
{
|
{
|
||||||
if (!m_simConnectObjects.contains(situation.getCallsign())) { return; }
|
if (m_simConnectObjects.contains(situation.getCallsign()))
|
||||||
m_simConnectObjects[situation.getCallsign()].addAircraftSituation(situation);
|
{
|
||||||
|
m_simConnectObjects[situation.getCallsign()].addAircraftSituation(situation);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// update if in pending
|
||||||
|
m_addPendingAircraft.setAircraftSituation(situation.getCallsign(), situation);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSimulatorFsxCommon::onRemoteProviderAddedAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, const CAircraftParts &parts)
|
void CSimulatorFsxCommon::onRemoteProviderAddedAircraftParts(const CCallsign &callsign, const CAircraftParts &parts)
|
||||||
{
|
{
|
||||||
if (!m_simConnectObjects.contains(callsign)) { return; }
|
if (m_simConnectObjects.contains(callsign))
|
||||||
m_simConnectObjects[callsign].addAircraftParts(parts);
|
{
|
||||||
|
m_simConnectObjects[callsign].addAircraftParts(parts);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// update if in pending
|
||||||
|
m_addPendingAircraft.setAircraftParts(callsign, parts);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QString CSimulatorFsxCommon::fsxPositionToString(const SIMCONNECT_DATA_INITPOSITION &position)
|
QString CSimulatorFsxCommon::fsxPositionToString(const SIMCONNECT_DATA_INITPOSITION &position)
|
||||||
|
|||||||
Reference in New Issue
Block a user