ConfigVarManager.cpp 999 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #include "core/ConfigVarManager.h"
  2. template<>ConfigVarManager *Ogre::Singleton<ConfigVarManager>::msSingleton = nullptr;
  3. ConfigVarManager::ConfigVarManager()
  4. {
  5. if(ConfigVar::m_StaticConfigVarList != (ConfigVar*)0xffffffff)
  6. {
  7. for(ConfigVar* cvar = ConfigVar::m_StaticConfigVarList; cvar; cvar = cvar->m_Previous)
  8. {
  9. m_ConfigVars.push_back(cvar);
  10. }
  11. ConfigVar::m_StaticConfigVarList = (ConfigVar*)0xffffffff;
  12. }
  13. }
  14. ConfigVar*
  15. ConfigVarManager::Find(const Ogre::String& name) const
  16. {
  17. for(size_t i = 0; i < m_ConfigVars.size(); ++i)
  18. {
  19. if(m_ConfigVars[i]->GetName() == name)
  20. {
  21. return m_ConfigVars[i];
  22. }
  23. }
  24. return nullptr;
  25. }
  26. unsigned int
  27. ConfigVarManager::GetConfigVarNumber() const
  28. {
  29. return m_ConfigVars.size();
  30. }
  31. ConfigVar*
  32. ConfigVarManager::GetConfigVar(const unsigned int i) const
  33. {
  34. if(i < m_ConfigVars.size())
  35. {
  36. return m_ConfigVars[i];
  37. }
  38. return nullptr;
  39. }