| 106 | } |
| 107 | |
| 108 | void ScriptConfig::ResetEditableSettings(bool yet_to_start) |
| 109 | { |
| 110 | if (this->info == nullptr) return ResetSettings(); |
| 111 | |
| 112 | for (SettingValueList::iterator it = this->settings.begin(); it != this->settings.end();) { |
| 113 | const ScriptConfigItem *config_item = this->info->GetConfigItem(it->first); |
| 114 | assert(config_item != nullptr); |
| 115 | |
| 116 | bool editable = yet_to_start || config_item->flags.Test(ScriptConfigFlag::InGame); |
| 117 | bool visible = _settings_client.gui.ai_developer_tools || !config_item->flags.Test(ScriptConfigFlag::Developer); |
| 118 | |
| 119 | if (editable && visible) { |
| 120 | it = this->settings.erase(it); |
| 121 | } else { |
| 122 | it++; |
| 123 | } |
| 124 | } |
| 125 | } |
| 126 | |
| 127 | bool ScriptConfig::HasScript() const |
| 128 | { |
no test coverage detected