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