mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-03 07:35:48 +08:00
Ref T259, Ref T243 details for aircraft parts
This commit is contained in:
committed by
Roland Winklmeier
parent
c1ac229875
commit
c3f05ea1cd
@@ -25,7 +25,8 @@ namespace BlackMisc
|
||||
QString CAircraftParts::convertToQString(bool i18n) const
|
||||
{
|
||||
return QStringLiteral("ts: ") % this->getFormattedTimestampAndOffset(true) %
|
||||
QStringLiteral(" on ground: ") % BlackMisc::boolToYesNo(m_isOnGround) %
|
||||
QStringLiteral(" details: ") % this->getPartsDetailsAsString() %
|
||||
QStringLiteral(" | on ground: ") % BlackMisc::boolToYesNo(m_isOnGround) %
|
||||
QStringLiteral(" | lights: ") % m_lights.toQString(i18n) %
|
||||
QStringLiteral(" | gear down: ") % BlackMisc::boolToYesNo(m_gearDown) %
|
||||
QStringLiteral(" | flaps pct: ") % QString::number(m_flapsPercentage) %
|
||||
@@ -77,9 +78,26 @@ namespace BlackMisc
|
||||
}
|
||||
}
|
||||
parts.setEngines(engines);
|
||||
parts.setPartsDetails(GuessedParts);
|
||||
return parts;
|
||||
}
|
||||
|
||||
const QString &CAircraftParts::partsDetailsToString(CAircraftParts::PartsDetails details)
|
||||
{
|
||||
static const QString guessed("guessed");
|
||||
static const QString notset("not set");
|
||||
static const QString fsd("FSD parts");
|
||||
|
||||
switch (details)
|
||||
{
|
||||
case GuessedParts: return guessed;
|
||||
case FSDAircraftParts: return fsd;
|
||||
case NotSet: break;
|
||||
default: break;
|
||||
}
|
||||
return notset;
|
||||
}
|
||||
|
||||
CVariant CAircraftParts::propertyByIndex(const BlackMisc::CPropertyIndex &index) const
|
||||
{
|
||||
if (index.isMyself()) { return CVariant::from(*this); }
|
||||
|
||||
@@ -48,6 +48,14 @@ namespace BlackMisc
|
||||
IndexOnGround
|
||||
};
|
||||
|
||||
//! Parts Details
|
||||
enum PartsDetails
|
||||
{
|
||||
NotSet,
|
||||
FSDAircraftParts,
|
||||
GuessedParts
|
||||
};
|
||||
|
||||
//! Default constructor
|
||||
CAircraftParts() {}
|
||||
|
||||
@@ -130,6 +138,15 @@ namespace BlackMisc
|
||||
//! Set aircraft on ground
|
||||
void setOnGround(bool onGround) { m_isOnGround = onGround; }
|
||||
|
||||
//! Get parts details
|
||||
PartsDetails getPartsDetails() const { return static_cast<PartsDetails>(m_partsDetails); }
|
||||
|
||||
//! Parts details as string
|
||||
const QString &getPartsDetailsAsString() const { return partsDetailsToString(this->getPartsDetails()); }
|
||||
|
||||
//! Set parts details
|
||||
void setPartsDetails(PartsDetails details) { m_partsDetails = static_cast<int>(details); }
|
||||
|
||||
//! Guess the parts
|
||||
void guessParts(const CAircraftSituation &situation);
|
||||
|
||||
@@ -142,9 +159,13 @@ namespace BlackMisc
|
||||
//! Guessed parts
|
||||
static CAircraftParts guessedParts(const CAircraftSituation &situation, bool vtol = false, int engineNumber = 4);
|
||||
|
||||
//! Convert to QString
|
||||
static const QString &partsDetailsToString(PartsDetails details);
|
||||
|
||||
private:
|
||||
CAircraftLights m_lights;
|
||||
CAircraftEngineList m_engines;
|
||||
int m_partsDetails = static_cast<int>(NotSet);
|
||||
int m_flapsPercentage = 0;
|
||||
bool m_gearDown = false;
|
||||
bool m_spoilersOut = false;
|
||||
@@ -158,6 +179,7 @@ namespace BlackMisc
|
||||
BLACK_METAMEMBER_NAMED(spoilersOut, "spoilers_out"),
|
||||
BLACK_METAMEMBER_NAMED(engines, "engines"),
|
||||
BLACK_METAMEMBER_NAMED(isOnGround, "on_ground"),
|
||||
BLACK_METAMEMBER(partsDetails, 0, DisabledForJson | DisabledForComparison),
|
||||
BLACK_METAMEMBER(timestampMSecsSinceEpoch, 0, DisabledForJson | DisabledForComparison),
|
||||
BLACK_METAMEMBER(timeOffsetMs, 0, DisabledForJson | DisabledForComparison)
|
||||
);
|
||||
|
||||
@@ -257,9 +257,10 @@ namespace BlackMisc
|
||||
CLogMessage::preformatted(message);
|
||||
}
|
||||
|
||||
// make sure in any case right time
|
||||
// make sure in any case right time and correct details
|
||||
parts.setCurrentUtcTime();
|
||||
parts.setTimeOffsetMs(currentOffset);
|
||||
parts.setPartsDetails(CAircraftParts::FSDAircraftParts);
|
||||
|
||||
// store part history (parts always absolute)
|
||||
this->storeAircraftParts(callsign, parts, false);
|
||||
|
||||
Reference in New Issue
Block a user