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;
|
||||
}
|
||||
|
||||
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 c = 0;
|
||||
|
||||
@@ -89,6 +89,9 @@ namespace BlackMisc
|
||||
//! Set aircraft parts
|
||||
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
|
||||
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)
|
||||
{
|
||||
if (!m_simConnectObjects.contains(situation.getCallsign())) { return; }
|
||||
m_simConnectObjects[situation.getCallsign()].addAircraftSituation(situation);
|
||||
if (m_simConnectObjects.contains(situation.getCallsign()))
|
||||
{
|
||||
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; }
|
||||
m_simConnectObjects[callsign].addAircraftParts(parts);
|
||||
if (m_simConnectObjects.contains(callsign))
|
||||
{
|
||||
m_simConnectObjects[callsign].addAircraftParts(parts);
|
||||
}
|
||||
else
|
||||
{
|
||||
// update if in pending
|
||||
m_addPendingAircraft.setAircraftParts(callsign, parts);
|
||||
}
|
||||
}
|
||||
|
||||
QString CSimulatorFsxCommon::fsxPositionToString(const SIMCONNECT_DATA_INITPOSITION &position)
|
||||
|
||||
Reference in New Issue
Block a user