prevent multiple loading of one and the same scenario
This commit is contained in:
parent
e1019eb359
commit
fad737b41e
2 changed files with 17 additions and 8 deletions
|
@ -79,13 +79,24 @@ FGAIManager::init() {
|
|||
void
|
||||
FGAIManager::postinit() {
|
||||
// postinit, so that it can access the Nasal subsystem
|
||||
for(int i = 0 ; i < root->nChildren() ; i++) {
|
||||
SGPropertyNode *aiEntry = root->getChild( i );
|
||||
if( !strcmp( aiEntry->getName(), "scenario" ) ) {
|
||||
scenario_filename = aiEntry->getStringValue();
|
||||
if (!scenario_filename.empty())
|
||||
processScenario( scenario_filename );
|
||||
map<string, bool> scenarios;
|
||||
for (int i = 0 ; i < root->nChildren() ; i++) {
|
||||
SGPropertyNode *n = root->getChild(i);
|
||||
if (strcmp(n->getName(), "scenario"))
|
||||
continue;
|
||||
|
||||
string name = n->getStringValue();
|
||||
if (name.empty())
|
||||
continue;
|
||||
|
||||
if (scenarios.find(name) != scenarios.end()) {
|
||||
SG_LOG(SG_GENERAL, SG_WARN, "won't load scenario '" << name << "' twice");
|
||||
continue;
|
||||
}
|
||||
|
||||
SG_LOG(SG_GENERAL, SG_INFO, "loading scenario '" << name << '\'');
|
||||
processScenario(name);
|
||||
scenarios[name] = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -110,8 +110,6 @@ private:
|
|||
SGPropertyNode_ptr wind_from_east_node;
|
||||
SGPropertyNode_ptr wind_from_north_node;
|
||||
|
||||
string scenario_filename;
|
||||
|
||||
double user_latitude;
|
||||
double user_longitude;
|
||||
double user_altitude;
|
||||
|
|
Loading…
Add table
Reference in a new issue