message: Pre-check Effects node types
diff: @@ -41,6 +41,15 @@ namespace
  void readEffects(NAS2D::Xml::XmlElement& effects, Technology& technology)
  {
  + for (auto effectElement = effects.firstChildElement(); effectElement; effectElement = effectElement->nextSiblingElement())
  + {
  + const auto& effectName = effectElement->value();
  + if (effectName != "modifier" && effectName != "unlock")
  + {
  + throw std::runtime_error("TechnologyReader: Unknown element '" + effectName + "' at (" + std::to_string(effectElement->row()) + ", " + std::to_string(effectElement->column()) + ")");
  + }
  + }
  +
  for (auto effectElement = effects.firstChildElement(); effectElement; effectElement = effectElement->nextSiblingElement())
  {
  const std::string effectName = effectElement->value();
  @@ -55,10 +64,6 @@ namespace
  {
  technology.unlocks.push_back({StringToUnlock.at(effectAttributes.get("type")), effectValue});
  }
  - else
  - {
  - throw std::runtime_error("TechnologyReader: Unknown element '" + effectName + "' at (" + std::to_string(effectElement->row()) + ", " + std::to_string(effectElement->column()) + ")");
  - }
  }
  }
  