mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-27 11:05:44 +08:00
Basically load AI FG aircraft to swift
This commit is contained in:
committed by
Mat Sutcliffe
parent
a84eb1b156
commit
fd9712caea
@@ -39,7 +39,40 @@ namespace BlackMisc{
|
|||||||
|
|
||||||
Simulation::CAircraftModel model;
|
Simulation::CAircraftModel model;
|
||||||
model.setAircraftIcaoCode(QString::fromStdString("A320"));
|
model.setAircraftIcaoCode(QString::fromStdString("A320"));
|
||||||
model.setDescription(QString::fromStdString("Description"));
|
model.setDescription(QString::fromStdString("Flyable"));
|
||||||
|
model.setName(QString::fromStdString("ModelName"));
|
||||||
|
model.setModelType(CAircraftModel::TypeOwnSimulatorModel);
|
||||||
|
model.setSimulator(CSimulatorInfo::fg());
|
||||||
|
model.setFileDetailsAndTimestamp(aircraftIt.fileInfo());
|
||||||
|
model.setModelMode(CAircraftModel::Include);
|
||||||
|
|
||||||
|
addUniqueModel(model,installedModels);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return installedModels;
|
||||||
|
}
|
||||||
|
|
||||||
|
CAircraftModelList AircraftModelLoaderFlightgear::parseAIAirplanes(const QString &rootDirectory, const QStringList &excludeDirectories)
|
||||||
|
{
|
||||||
|
Q_UNUSED(excludeDirectories);
|
||||||
|
if (rootDirectory.isEmpty()) { return {}; }
|
||||||
|
|
||||||
|
Simulation::CAircraftModelList installedModels;
|
||||||
|
|
||||||
|
QDir searchPath(rootDirectory, fileFilterAI());
|
||||||
|
QDirIterator aircraftIt(searchPath, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
|
||||||
|
|
||||||
|
|
||||||
|
while (aircraftIt.hasNext()) {
|
||||||
|
aircraftIt.next();
|
||||||
|
if (CFileUtils::isExcludedDirectory(aircraftIt.fileInfo(), excludeDirectories, Qt::CaseInsensitive)) { continue; }
|
||||||
|
//QString base = "main";
|
||||||
|
//if(base.compare(aircraftIt.fileName())){ continue;}
|
||||||
|
|
||||||
|
Simulation::CAircraftModel model;
|
||||||
|
model.setAircraftIcaoCode(QString::fromStdString("A320"));
|
||||||
|
model.setDescription(QString::fromStdString("AI"));
|
||||||
model.setName(QString::fromStdString("ModelName"));
|
model.setName(QString::fromStdString("ModelName"));
|
||||||
model.setModelType(CAircraftModel::TypeOwnSimulatorModel);
|
model.setModelType(CAircraftModel::TypeOwnSimulatorModel);
|
||||||
model.setSimulator(CSimulatorInfo::fg());
|
model.setSimulator(CSimulatorInfo::fg());
|
||||||
@@ -59,6 +92,13 @@ namespace BlackMisc{
|
|||||||
return f;
|
return f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const QString &AircraftModelLoaderFlightgear::fileFilterAI()
|
||||||
|
{
|
||||||
|
static const QString f("*.xml");
|
||||||
|
return f;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
void AircraftModelLoaderFlightgear::addUniqueModel(const CAircraftModel &model, CAircraftModelList &models)
|
void AircraftModelLoaderFlightgear::addUniqueModel(const CAircraftModel &model, CAircraftModelList &models)
|
||||||
{
|
{
|
||||||
//TODO Add check
|
//TODO Add check
|
||||||
@@ -70,8 +110,9 @@ namespace BlackMisc{
|
|||||||
CAircraftModelList allModels;
|
CAircraftModelList allModels;
|
||||||
for (const QString &rootDirectory : rootDirectories)
|
for (const QString &rootDirectory : rootDirectories)
|
||||||
{
|
{
|
||||||
//allModels.push_back(parseCslPackages(rootDirectory, excludeDirectories));
|
//TODO Make paths variable
|
||||||
allModels.push_back(parseFlyableAirplanes(rootDirectory, excludeDirectories));
|
allModels.push_back(parseAIAirplanes("X:/Flightsim/Flightgear/2018.3/data/AI/Aircraft", excludeDirectories));
|
||||||
|
allModels.push_back(parseFlyableAirplanes("X:/Flightsim/Flightgear/2018.3/data/Aircraft", excludeDirectories));
|
||||||
}
|
}
|
||||||
|
|
||||||
return allModels;
|
return allModels;
|
||||||
|
|||||||
@@ -17,7 +17,9 @@ namespace BlackMisc{
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
Simulation::CAircraftModelList parseFlyableAirplanes(const QString &rootDirectory, const QStringList &excludeDirectories);
|
Simulation::CAircraftModelList parseFlyableAirplanes(const QString &rootDirectory, const QStringList &excludeDirectories);
|
||||||
|
Simulation::CAircraftModelList parseAIAirplanes(const QString &rootDirectory, const QStringList &excludeDirectories);
|
||||||
static const QString &fileFilterFlyable();
|
static const QString &fileFilterFlyable();
|
||||||
|
static const QString &fileFilterAI();
|
||||||
void addUniqueModel(const CAircraftModel &model, CAircraftModelList &models);
|
void addUniqueModel(const CAircraftModel &model, CAircraftModelList &models);
|
||||||
QPointer<CWorker> m_parserWorker;
|
QPointer<CWorker> m_parserWorker;
|
||||||
CAircraftModelList performParsing(const QStringList &rootDirectories, const QStringList &excludeDirectories);
|
CAircraftModelList performParsing(const QStringList &rootDirectories, const QStringList &excludeDirectories);
|
||||||
|
|||||||
Reference in New Issue
Block a user