XmlTextFile.cpp 800 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #include "core/Logger.h"
  2. #include "core/UiManager.h"
  3. #include "core/XmlTextFile.h"
  4. XmlTextFile::XmlTextFile(const Ogre::String& file):
  5. XmlFile(file)
  6. {
  7. }
  8. XmlTextFile::~XmlTextFile()
  9. {
  10. }
  11. void
  12. XmlTextFile::LoadText()
  13. {
  14. TiXmlNode* node = m_File.RootElement();
  15. if(node == nullptr || node->ValueStr() != "texts")
  16. {
  17. LOG_ERROR("UI Manager: " + m_File.ValueStr() + " is not a valid text file! No <texts> in root.");
  18. return;
  19. }
  20. node = node->FirstChild();
  21. while(node != nullptr)
  22. {
  23. if(node->Type() == TiXmlNode::TINYXML_ELEMENT && node->ValueStr() == "text")
  24. {
  25. Ogre::String name = GetString(node, "name");
  26. UiManager::getSingleton().AddText(name, node->Clone());
  27. }
  28. node = node->NextSibling();
  29. }
  30. }